Background: I have been able to build and run ROS kinetic and ROS2 eloquent containers in my Raspberry Pi4 in the past.
I am trying to build and run ROS noetic. However I am getting an error. To show this I do the most simple things
docker pull ros:noetic
then I do
docker image ls
and I can see that the image is there
but when I do
docker run -it ros:noetic
I get
Fatal Python error: pyinit_main: can't initialize time
Python runtime state: core initialized
PermissionError: [Errno 1] Operation not permitted
Current thread 0xb6ff1460 (most recent call first):
<no Python frame>
I wonder what is happening and how to solve this
My suspicion is that since noetic is using Python 3 and not 2, something is failing due to versions
Comments: I know that ROS kinetic uses python 2 but I assumed ROS2 eloquent used Python 3! Now I found that it uses python 2 too!
I have been able to build and run ROS noetic containers in my Ubuntu desktop machine. So I imagine it is a raspberry pi problem. However it seems that it is possible to install noetic natively on RPi, so I wonder if it is a problem with the Noetic Docker image...
I had the exact same issue and the following workaround worked:
docker run --privileged
Docker documentation on --privileged switch
Next commands on host machine, helped me out:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install -t buster-backports libseccomp2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With