dusty-nv / jetbot_ros

ROS nodes and Gazebo model for NVIDIA JetBot with Jetson Nano
MIT License
382 stars 178 forks source link

Trying to install ROS2 - Never used docker before #47

Open abulnk opened 2 years ago

abulnk commented 2 years ago

I am getting the following error.

jetbot@jetson-4-3:~/jetbot_ros$ docker/run.sh reading L4T version from /etc/nv_tegra_release L4T BSP Version: L4T R32.3.1 CONTAINER: dustynv/jetbot_ros:foxy-r32.3.1 DEV_VOLUME:
DATA_VOLUME: --volume /home/jetbot/jetbot_ros/data:/workspace/src/jetbot_ros/data USER_VOLUME:
USER_COMMAND:
V4L2_DEVICES:
localuser:root being added to access control list xauth: file /tmp/.docker.xauth does not exist Unable to find image 'dustynv/jetbot_ros:foxy-r32.3.1' locally docker: Error response from daemon: manifest for dustynv/jetbot_ros:foxy-r32.3.1 not found: manifest unknown: manifest unknown.

I am sure I need something else before I run the shell command. Please help.

abulnk commented 2 years ago

Do I need JetPack 4.4 or newer? Thanks.

jomoengineer commented 2 years ago

This fails with JP4.5 as well. The docker image version is based on the /etc/nv_tegra_release which shows R32 REVISION: 5.2 in JP4.5.

Ex: # R32 (release), REVISION: 5.2, GCID: 27767740, BOARD: t210ref, EABI: aarch64, DATE: Fri Jul 9 16:01:52 UTC 2021

There is no r32.5.2 docker image at dusty-nv/jetson-containers, just r32.4.4, r32.5.0 or r32.6.1. https://github.com/dusty-nv/jetson-containers

Setting REVISION to 5.0 in nv_tegra_release temporarily resolved the issue in my case.

JHPHELAN commented 2 years ago

Setting REVISION to 5.0 in nv_tegra_release temporarily resolved the issue in my case. Didn't work for me as is READ ONLY file system

jimbog13 commented 1 year ago

@dusty-nv I'm running into this issue as well. I am also generally confused since this repo is supposed to be for NVIDIA JetBot with Jetson Nano, but Jetson Nano looks to be only supported with Jetpack 4.x, and ROS2 requires Jetpack 5.0.

I also tried cloning eloquent but get the following error:

docker: Error response from daemon: manifest for dustynv/jetbot_ros:eloquent-r32.7.1 not found: manifest unknown: manifest unknown.

dusty-nv commented 1 year ago

ROS2 requires Jetpack 5.0.

Hi @jimbog13, running ROS2 in container doesn't require JetPack 5, ROS2 can be built from source for JetPack 4 containers (except Humble) if you want to rebuild the container, change the base image to one compatible with your version of JetPack-L4T

jimbog13 commented 1 year ago

Thanks @dusty-nv ,

I gave it a shot but unfortunately the build failed when it got to:

Step 26/40 : RUN source ${ROS_ENVIRONMENT} && cd ${WORKSPACE_ROOT}/src && git clone https://github.com/dusty-nv/ros_deep_learning && cd ../ && colcon build --symlink-install --event-handlers console_direct+

scores of errors when it got to this point:

-- Build files have been written to: /workspace/build/ros_deep_learning [ 10%] Building CXX object CMakeFiles/imagenet.dir/src/node_imagenet.cpp.o [ 10%] Building CXX object CMakeFiles/segnet.dir/src/node_segnet.cpp.o [ 15%] Building CXX object CMakeFiles/detectnet.dir/src/node_detectnet.cpp.o [ 20%] Building CXX object CMakeFiles/video_source.dir/src/node_video_source.cpp.o In file included from /usr/local/include/jetson-inference/segNet.h:27:0, from /workspace/src/ros_deep_learning/src/node_segnet.cpp:26: /usr/local/include/jetson-inference/tensorNet.h:58:19: error: ‘Dims3’ in namespace ‘nvinfer1’ does not name a type typedef nvinfer1::Dims3 Dims3;

On Thu, May 11, 2023 at 3:58 PM Dustin Franklin @.***> wrote:

ROS2 requires Jetpack 5.0.

Hi @jimbog13 https://github.com/jimbog13, running ROS2 in container doesn't require JetPack 5, ROS2 can be built from source for JetPack 4 containers (except Humble) if you want to rebuild the container, change the base image to one compatible with your version of JetPack-L4T

— Reply to this email directly, view it on GitHub https://github.com/dusty-nv/jetbot_ros/issues/47#issuecomment-1544595895, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJ6D732AKZFXBBO5DPX3GTXFVAIHANCNFSM5INA2CDA . You are receiving this because you were mentioned.Message ID: @.***>

dusty-nv commented 1 year ago

@jimbog13 do you have your default docker runtime set to nvidia? https://github.com/dusty-nv/jetson-containers#docker-default-runtime

Also, which version of JetPack-L4T are you running? is it L4T R32.7.1?

jimbog13 commented 1 year ago

@dusty-nv that was it! once I set the default docker runtime it built successfully (yes, it's version L4T R32.7.1).

Thanks again for your help!

kmliy901054 commented 3 months ago

HI i trying to install ros2 on my jetsonnano 4GB and met this error
i trying to use ros:foxy-desktop-l4t-r35.4.1 because docker: Error response from daemon: manifest for dustynv/jetbot_ros:foxy-r32.3.1 not found: manifest unknown: manifest unknown.

jetbot@jetson:~/jetbot_ros$ docker/run.sh -c ros:foxy-desktop-l4t-r35.4.1 reading L4T version from /etc/nv_tegra_release L4T BSP Version: L4T R32.3.1 CONTAINER: dustynv/ros:foxy-desktop-l4t-r35.4.1 DEV_VOLUME:
DATA_VOLUME: --volume /home/jetbot/jetbot_ros/data:/workspace/src/jetbot_ros/data USER_VOLUME:
USER_COMMAND:
V4L2_DEVICES: --device /dev/video0 xhost: unable to open display "" xauth: file /home/jetbot/.Xauthority does not exist xauth: file /tmp/.docker.xauth does not exist xauth: (argv):1: unable to read any entries from file "(stdin)" chmod: cannot access '/tmp/.docker.xauth': No such file or directory sourcing /opt/ros/foxy/install/setup.bash ROS_DISTRO foxy ROS_ROOT /opt/ros/foxy root@jetson:/# ros2 launch jetbot_ros jetbot_sparkfun.launch.py Package 'jetbot_ros' not found: "package 'jetbot_ros' not found, searching: ['/opt/ros/foxy/install']" root@jetson:/#