Ros-humble-isaac-ros-nvblox and isaac-ros-nvblox packages have **hard** dependency on Nvidia driver 560?

Hello,

Referring to this ticket I found that isaac_ros_visual_slam works well with Nvidia 575 driver with CUDA 12.6+ toolkits.

The binaries for isaac_ros_visual_slam where downloaded after after adding Isaac ROS Apt repositories, as described here.

However, when I try to install the binaries for ros-humble-isaac-ros-nvblox, I am seeing this strange behavior

sudo apt-get update
sudo apt-get install ros-humble-isaac-ros-nvblox

The following packages were automatically installed and are no longer required:
  libbsd0:i386 libdrm2:i386 libexpat1:i386 libffi8:i386 libgbm1:i386
  libmd0:i386 libnvidia-cfg1-575 libnvidia-common-575 libnvidia-extra-575
  libnvidia-fbc1-575 libnvidia-fbc1-575:i386 libnvidia-gl-575:i386
  libnvidia-gpucomp-575 libnvidia-gpucomp-575:i386 libwayland-client0:i386
  libwayland-server0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri3-0:i386 libxcb-present0:i386 libxcb-randr0:i386 libxcb1:i386
  libxdmcp6:i386 libxext6:i386 nvidia-dkms-575 nvidia-firmware-575
  nvidia-kernel-common-575 nvidia-kernel-source-575 nvidia-modprobe
  nvidia-persistenced nvidia-settings screen-resolution-extra
  xserver-xorg-video-nvidia-575
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libnvidia-compute-560 libnvidia-decode-560 libnvinfer-plugin10 libnvinfer10
  libnvonnxparsers10 ros-humble-gxf-isaac-detectnet
  ros-humble-gxf-isaac-ros-unet ros-humble-gxf-isaac-tensor-rt
  ros-humble-gxf-isaac-triton ros-humble-isaac-ros-detectnet
  ros-humble-isaac-ros-dnn-image-encoder ros-humble-isaac-ros-launch-utils
  ros-humble-isaac-ros-nitros-detection2-d-array-type
  ros-humble-isaac-ros-peoplenet-models-install
  ros-humble-isaac-ros-peoplesemseg-models-install
  ros-humble-isaac-ros-tensor-proc ros-humble-isaac-ros-tensor-rt
  ros-humble-isaac-ros-triton ros-humble-isaac-ros-unet
  ros-humble-nvblox-examples-bringup ros-humble-nvblox-image-padding
  ros-humble-nvblox-msgs ros-humble-nvblox-nav2 ros-humble-nvblox-ros
  ros-humble-nvblox-ros-common ros-humble-nvblox-ros-python-utils
  ros-humble-nvblox-rviz-plugin ros-humble-semantic-label-conversion
The following packages will be REMOVED:
  libnvidia-compute-575 libnvidia-compute-575:i386 libnvidia-decode-575
  libnvidia-decode-575:i386 libnvidia-encode-575 libnvidia-encode-575:i386
  libnvidia-gl-575 nvidia-compute-utils-575 nvidia-driver-575 nvidia-utils-575
The following NEW packages will be installed:
  libnvidia-compute-560 libnvidia-decode-560 libnvinfer-plugin10 libnvinfer10
  libnvonnxparsers10 ros-humble-gxf-isaac-detectnet
  ros-humble-gxf-isaac-ros-unet ros-humble-gxf-isaac-tensor-rt
  ros-humble-gxf-isaac-triton ros-humble-isaac-ros-detectnet
  ros-humble-isaac-ros-dnn-image-encoder ros-humble-isaac-ros-launch-utils
  ros-humble-isaac-ros-nitros-detection2-d-array-type
  ros-humble-isaac-ros-nvblox ros-humble-isaac-ros-peoplenet-models-install
  ros-humble-isaac-ros-peoplesemseg-models-install
  ros-humble-isaac-ros-tensor-proc ros-humble-isaac-ros-tensor-rt
  ros-humble-isaac-ros-triton ros-humble-isaac-ros-unet
  ros-humble-nvblox-examples-bringup ros-humble-nvblox-image-padding
  ros-humble-nvblox-msgs ros-humble-nvblox-nav2 ros-humble-nvblox-ros
  ros-humble-nvblox-ros-common ros-humble-nvblox-ros-python-utils
  ros-humble-nvblox-rviz-plugin ros-humble-semantic-label-conversion

As probably one may have guessed, I had to reinstall driver 575 a few times before I caught this behavior. I am not sure, but with 560 driver, the quickstart example for isaac-ros-nvblox fails and closes the rviz window.

Do the nvblox packages have hard dependencies on Nvidia driver 560?

Best regards,
Azmyin

Update, I tried using sudo apt mark to hold the following to version 575

sudo apt-mark hold nvidia-driver-575 nvidia-compute-utils-575 libnvidia-compute-575 libnvidia-decode-575 libnvidia-encode-575 libnvidia-gl-575


nvidia-driver-575 set on hold.
nvidia-compute-utils-575 set on hold.
libnvidia-compute-575 set on hold.
libnvidia-decode-575 set on hold.
libnvidia-encode-575 set on hold.
libnvidia-gl-575 set on hold.

Then attempting to reinstall nvblox gives the following error

sudo apt-get install ros-humble-isaac-ros-nvblox

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:
 libnvidia-compute-560 : Conflicts: libcuda-10.0-1
                         Conflicts: libcuda-10.1-1
                         Conflicts: libcuda-10.2-1
                         Conflicts: libcuda-11.0-1
                         Conflicts: libcuda-11.1-1
                         Conflicts: libcuda-11.2-1
                         Conflicts: libcuda-11.3-1
                         Conflicts: libcuda-11.4-1
                         Conflicts: libcuda-11.5-1
                         Conflicts: libcuda-11.6-1
                         Conflicts: libcuda-11.7-1
                         Conflicts: libcuda-5.0-1
                         Conflicts: libcuda-5.5-1
                         Conflicts: libcuda-6.0-1
                         Conflicts: libcuda-6.5-1
                         Conflicts: libcuda-7.0-1
                         Conflicts: libcuda-7.5-1
                         Conflicts: libcuda-8.0-1
                         Conflicts: libcuda-9.0-1
                         Conflicts: libcuda-9.1-1
                         Conflicts: libcuda-9.2-1
                         Conflicts: libnvidia-compute
                         Conflicts: nvidia-opencl-icd
 libnvidia-compute-575 : Conflicts: libcuda-10.0-1
                         Conflicts: libcuda-10.1-1
                         Conflicts: libcuda-10.2-1
                         Conflicts: libcuda-11.0-1
                         Conflicts: libcuda-11.1-1
                         Conflicts: libcuda-11.2-1
                         Conflicts: libcuda-11.3-1
                         Conflicts: libcuda-11.4-1
                         Conflicts: libcuda-11.5-1
                         Conflicts: libcuda-11.6-1
                         Conflicts: libcuda-11.7-1
                         Conflicts: libcuda-5.0-1
                         Conflicts: libcuda-5.5-1
                         Conflicts: libcuda-6.0-1
                         Conflicts: libcuda-6.5-1
                         Conflicts: libcuda-7.0-1
                         Conflicts: libcuda-7.5-1
                         Conflicts: libcuda-8.0-1
                         Conflicts: libcuda-9.0-1
                         Conflicts: libcuda-9.1-1
                         Conflicts: libcuda-9.2-1
                         Conflicts: libnvidia-compute
                         Conflicts: nvidia-opencl-icd
 libnvidia-decode-560 : Conflicts: libnvidia-decode
 libnvidia-decode-575 : Conflicts: libnvidia-decode
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Thank you for your post.

We are investigating, I let you know.

Best,
Raffaello

1 Like

Hi, have you solved it? How did you solve it?

Hello,

I have circumvented this problem by downgrading driver to 560. I did the following

Delete driver above 560

sudo apt-get --purge remove nvidia-* sudo apt-get --purge remove libnvidia-* sudo dpkg --force-all -P nvidia-firmware-550-550.163.01 nvidia-kernel-common-550 nvidia-compute-utils-550 libnvidia-decode-550 nvidia-driver-550 sudo dpkg --force-all -P nvidia-* sudo dpkg --force-all -P libnvidia-* sudo apt autoremove sudo apt autoclean

Install 560and apt-mark it

sudo apt install nvidia-driver-560 
sudo reboot 
sudo apt-mark hold nvidia-driver-560 nvidia-compute-utils-560 libnvidia-compute-560 libnvidia-decode-560 libnvidia-encode-560 libnvidia-gl-560

Setup ros workspace and set an env variable ISAAC_ROS_WS pointing to it.

Follow steps from Isaac Apt Repository and add it to your system.

Installed isaac_ros_common and isaac-humble-ros2-pkgs, a copy of the humble packages from isaac ros workspace

cd $ISAAC_ROS_WS/src
git clone https://github.com/Mechazo11/isaac-humble-ros2-pkgs.git
git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
cd ..
sudo apt-get update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install

Setup nvblox

sudo apt-get update
rosdep update   
source /opt/ros/humble/setup.bash 
source ${ISAAC_ROS_WS}/install/setup.bash 
sudo apt-get install ros-humble-isaac-ros-nvblox 

@benny6551102 see my solution

1 Like