Why do we need to run run_dev.sh when installing isaac_ros_nvblox?

Following the installation instructions here: isaac_ros_nvblox — isaac_ros_docs documentation, I noticed that we need to run the run_dev.sh script before installing the ros-humble-isaac-ros-nvblox package? Is it possible for someone to help me understand why we need to run that script?

Hi @bolun,

The run_dev.sh is to launch Isaac ROS Dev Docker containers which we strongly recommend. So that you can have a fresh start of development environment setup with the correct versions of dependencies on both Jetson and x86_64 platforms. Based on the desired use case, you can install debian package and its dependencies in the container.

Please refer to this page for usage and customization.
https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_common/index.html

If you prefer to work without docker, you can also install pre-built ROS 2 Humble packages through the Isaac Apt Repository.

Best,
Ahung

@Ahung thanks for the response!

So the documentation is only describing how isaac-ros-nvblox can be installed inside a docker container? I don’t think the current documentation conveys that clearly.

@Ahung when I try to install isaac-ros-nvblox through the isaac apt repository, I get the error:

> sudo apt-get install -y 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:
 ros-humble-gxf-isaac-triton : Depends: libnvinfer8 but it is not installable
                               Depends: libnvonnxparsers8 but it is not installable
                               Depends: libnvparsers8 but it is not installable
 ros-humble-isaac-ros-tensor-rt : Depends: libnvonnxparsers8 but it is not installable
                                  Depends: ros-humble-gxf-isaac-tensor-rt but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Any idea how to install those missing libraries?

Hi @bolun,

Those libraries shall be included if you have installed all Jetson SDK components of Jetpack 6.0.

All the Isaac ROS demos are using docker. Thus, it’s recommended to use docker and to avoid the dependency issue.

Best,
Ahung

@Ahung thanks for the response!

Sorry for not being clear. I was trying to install isaac-ros-nvblox on an x86 machine. Do you know how to install those missing packages on an x86 machine?

And I was able to get everything running inside a docker, but I also would love to get it to work on the host machine.

Hi @bolun,

You can install them using SDK Manager. When you chose to install Jetpack for Jetson, it will also install host components on your x86 machine.
https://docs.nvidia.com/sdk-manager/install-with-sdkm-jetson/index.html