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
If you experience the error:
error: option --install-layout not recognized
based on information from : ros/catkin#863 adding the flag
-DSETUPTOOLS_DEB_LAYOUT=OFF
solves the issue.The full command is:
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 --install-space /opt/ros/noetic -DSETUPTOOLS_DEB_LAYOUT=OFF