I am using the docker image for the ros2 galactic ( dustynv/ros:galactic-ros-base-l4t-r32.7.1) from GitHub - dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T
But once inside the container I am trying to install certain ros2 packages but I am unable to do so.
I am getting the below error
sudo apt install ros-galactic-rviz2
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package ros-galactic-rviz2
As I understand, because the TX2 is running on Ubuntu version18 and galactic packages are only available for Ubuntu 20, its unable to find the galactic packages. My question is how can I use this docker image if I can’t install any relevant packages.
Hi @hardik.a, you are correct in your understanding about Ubuntu 18.04 not having the pre-built packages for ROS Galactic, hence you will need to build them from source in the container. Here’s an example of where I build additional ROS packages on top of the ROS distro in a container:
There I am using
rosinstall_generator to pull in all the sources needed for the additional packages that I wanted to build. Note that there may be issues with building ROS desktop packages (which rvis2 is typically in the desktop set of packages)
Alternatively, you can clone jetson-containers and run
scripts/docker_build_ros.sh --distro galactic --package desktop but as mentioned, I recall there being issues building some of the desktop packages. Typically ros_base gets deployed on the Jetson and another machine would be running rviz remotely.
Thanks @dusty_nv I will try to build the package as you have suggested.
And it means for any new package I will have to build all the dependencies in the container. Right?
Yes for the ROS packages - as for the dependencies, in my experience some of them already have debs in the 18.04 apt repo. Others you may have to build.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.