This guide is derived from the official Noetic setup page, which can be found here: http://wiki.ros.org/noetic/Installation/Source
This version includes some customizations for missing packages on Ubuntu 18.04 which the jetson nano OS uses. I think this installation should work on most ubuntu 18.04 installations, but I can give no guarantees.
sudo apt install build-essential
sudo -H python3 -m pip install -U pip
sudo -H python3 -m pip install -U setuptools
sudo -H python3 -m pip install -U rosdep rosinstall_generator vcstool
sudo rosdep init
rosdep update
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Note: the default says desktop here, but i don't want all the GUI stuff, so i use the robot and perception packages instead
rosinstall_generator robot perception --rosdistro noetic --deps --tar > noetic-robot-perception.rosinstall
mkdir ./src
vcs import --input noetic-robot-perception.rosinstall ./src
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y -r
# not sure if this is necessary:
sudo -H python3 -m pip install -U catkin_pkg
# again not sure if necessary:
sudo apt install liborocos-kdl-dev
for compilation error about cv_bridge not finding boost:
nano ./src/vision_opencv/cv_bridge/CmakeLists.txt
# change:
find_package(Boost REQUIRED python37)
# to:
find_package(Boost REQUIRED python3)
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 --install-space /opt/ros/noetic
(optional) add setup.bash to bashrc so it's automatically loaded on the start of a terminal session
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
I had this issue to when building perception. I was using default user for Xavier (nvidia or ubuntu), each of which appears to have 1K stack allocated. pcl_ros (and RViz) both seem to take more than this, and you'll get the dreaded "internal compiler error" failures.
The solution is to increase the stack to 8K, or alternatively, create a new user on the Xavier (new users aren't limited to 1K stack for some reason...)