I am trying to install ROS Noetic on a Raspberry Pi 4 and I came across this error while executing this command from the official guide:
userk@dopamine:~/development/ros_catkin_ws $ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
[...]
File "~/development/ros_catkin_ws/build_isolated/rosbash/catkin_generated/generate_cached_setup.py", line 12, in <module>
from catkin.environment_cache import generate_environment_script
ModuleNotFoundError: No module named 'catkin'
Ros Noetic supports Ubuntu Focal and Debian Buster.
userk@dopamine:~/development/ros_catkin_ws $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Do you have any advice?
2
Answers
I think your question is a more meta-misunderstanding of ROS. ROS (sofar) is strongly linked to the Ubuntu version. If you have Ubuntu 20 installed, I strongly recommend installing ROS Noetic via apt. If you want to use ROS on the Pi, you should stick to a Ubuntu LTS version (16/18/20) for maximal support.
I had this error too and solved it. It came for me from a mixup between python2 and python3 during build. Use ROS_PYTHON_VERSION environment variable to force build with a specific version of python.
Debian Buster IS a supported OS for noetic, though not the main one which is Ubuntu Buster. OP does not need to be told “Noetic should not be installed on this OS”, he/she needs help to solve his/her issue. Solving a problem is better than just eluding it, in my opinion.
My setup is a bit more tricky:
Instructions below. I hope it will help.