Isaac ROS release-3.1: Dependency Issues with nvblox After Restarting Docker Container

Hardware: Jetson Orin NX
Operating System: Ubuntu 22.04
JetPack Version: JetPack 6.0
Isaac ROS Version(Docker): release-3.1

nvidia@tegra-ubuntu:~$ dpkg -l | grep nvidia-jetpack
ii  nvidia-jetpack-dev                           6.0+b106                                    arm64        NVIDIA Jetpack dev Meta Package
ii  nvidia-jetpack-runtime                       6.0+b106                                    arm64        NVIDIA Jetpack runtime Meta Package
nvidia@tegra-ubuntu:~$ cat /etc/nv_tegra_release
# R36 (release), REVISION: 3.0, GCID: 36923193, BOARD: generic, EABI: aarch64, DATE: Fri Jul 19 23:24:25 UTC 2024
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia
nvidia@tegra-ubuntu:~$ 

Docker Workflow:

  1. Start the Docker container: cd ${ISAAC_ROS_WS}/src/isaac_ros_common && ./scripts/run_dev.sh
  2. Attempt to install nvblox: sudo apt update && sudo apt-get install -y ros-humble-isaac-ros-nvblox && rosdep update && rosdep install isaac_ros_nvblox

in container

Steps I Have Tried:

  1. Updating APT package lists: sudo apt-get update.
  2. Verifying that NVIDIA software sources are correctly configured.
  3. Manually attempting to install libnvinfer10 and libnvonnxparsers10, but they are reported as “not installable.”

Hi @winton.hsu

Another user had a similar issue, your error:

Please try it and let me know if it is also your issue.

Best,
Raffaello

sudo apt-get install nvidia-cuda-toolkit && sudo apt-get update in the container did not solve this issue for me, i still see:

6.672 The following information may help to resolve the situation:
6.672 
6.672 The following packages have unmet dependencies:
6.985  ros-humble-gxf-isaac-triton : Depends: libnvinfer10 but it is not installable
6.985                                Depends: libnvonnxparsers10 but it is not installable
6.985  ros-humble-isaac-ros-tensor-rt : Depends: libnvinfer-plugin10 but it is not installable
6.985                                   Depends: libnvinfer10 but it is not installable
6.985                                   Depends: libnvonnxparsers10 but it is not installable
6.985                                   Depends: ros-humble-gxf-isaac-tensor-rt but it is not going to be installed
6.992 E: Unable to correct problems, you have held broken packages.
------

despite not having ros-humble-isaac-ros-tensor-rt or ros-humble-gxf-isaac-triton in the install list.

1 Like

the solution for me was not to installnvidia-cuda-toolkit, but rather to add the following to the Dockerfile:

# very very dumb that we have to do this...nvidia issue! (?)
# add the arm64 if were on arm, x86_64 if were on x86_64
RUN if [ "$(uname -m)" = "aarch64" ]; then \
        echo "arm64 architecture detected, adding arm64 cuda repo"; \
        add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/ /"; \
    else \
        echo "x86_64 architecture detected, adding x86_64 cuda repo"; \
        add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"; \
    fi
2 Likes

thank stephenderosa43.

I’m happy to report that the issue I was facing has been successfully resolved using the method you provided. By following your detailed steps, I was able to fix the dependency problems with nvblox after restarting my Docker container.

1 Like