Docker nvcr.io/nvidia/isaac-sim:4.5.0 can't install ROS2 Humble?

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify): Docker

GPU Information

  • Model: NVIDIA RTX 6000 Ada
  • Driver Version: 535.230.02

Topic Description ROS2 Humble install fails when trying to install within nvcr.io/nvidia/isaac-sim:4.5.0 docker container

Detailed Description

I’m trying to install ros2 humble within the nvcr.io/nvidia/isaac-sim:4.5.0 docker container. Simply following the install tutorial, including setup, step by step, results in an installation error about libfreetype6-dev when trying to install ros-humble-desktop.

root@wildfire-inferno:/isaac-sim# apt install ros-humble-desktop
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libvtk9-dev : Depends: libfreetype6-dev
libxft-dev : Depends: libfontconfig1-dev
Depends: libfreetype6-dev
ros-humble-rviz-ogre-vendor : Depends: libfreetype6-dev
E: Unable to correct problems, you have held broken packages.

If you try to install libfreetype6-dev, the following error occurs:

root@wildfire-inferno:/isaac-sim# apt install libfreetype6-dev libfontconfig1-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libbrotli-dev : Depends: libbrotli1 (= 1.0.9-2build6) but 1.1.0-2+ubuntu22.04.1+deb.sury.org+1 is to be installed
E: Unable to correct problems, you have held broken packages.

It seems there’s some version incompatibility

Steps to Reproduce

  1. docker pull nvcr.io/nvidia/isaac-sim:4.5.0
  2. docker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \ -e "PRIVACY_CONSENT=Y" \ -v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \ -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \ -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \ -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \ -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \ -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \ -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \ -v ~/docker/isaac-sim/documents:/root/Documents:rw \ nvcr.io/nvidia/isaac-sim:4.5.0
  3. Follow the ROS2 Humble installation steps
  4. Error above

Error Messages

See above

1 Like

Downgrading libbrotli1 to 1.0.9-2build6 seem to be working for me. But it might cause some issues in Isaac Sim with something like streaming or caching.

RUN apt-get update && apt-get install -y --allow-downgrades libbrotli1=1.0.9-2build6

Also, you’ll probably need this to use rclpy from a standalone script:

RUN /isaac-sim/python.sh -m pip install netifaces
1 Like