Isaac ROS 3.1 Error (Dependency)

Dear Isaac ROS devs,

I am currently working with a Jetson AGX Orin 64GB Developer Kit running Jetpack 6.1, and I am trying to use Isaac ROS 3.1 for visual SLAM with a Realsense D435i camera.

To set up Isaac ROS 3.1, I attempted to run the Docker container, but I encountered the following error:

Launching Isaac ROS Dev container with image key aarch64.ros2_humble.realsense.user: /mnt/nova_ssd/work2/isaac_ros-dev/
Building aarch64.ros2_humble.realsense.user base as image: isaac_ros_dev-aarch64
Building layered image for key aarch64.ros2_humble.realsense.user as isaac_ros_dev-aarch64
Using configured docker search paths: /mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker
Checking if base image nvcr.io/isaac/ros:aarch64-ros2_humble-realsense-user_69b32f208215586a425711713cb524d3 exists on remote registry
Checking if base image nvcr.io/isaac/ros:aarch64-ros2_humble-realsense_bbc98feba92c4c3e2f7057129b5dc0b2 exists on remote registry
Checking if base image nvcr.io/isaac/ros:aarch64-ros2_humble_4ae57c198a850823906f592afa11b155 exists on remote registry
Checking if base image nvcr.io/isaac/ros:aarch64_54b6d54348798d356ecd2513f71a2d14 exists on remote registry
Resolved the following 4 Dockerfiles for target image: aarch64.ros2_humble.realsense.user
/mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.user
/mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.realsense
/mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.ros2_humble
/mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.aarch64
Building /mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common/scripts/../docker/Dockerfile.aarch64 as image: aarch64-image with base: 
[+] Building 935.4s (22/26)                                                                                              docker:default
 => [internal] load build definition from Dockerfile.aarch64                                                                       0.0s
 => => transferring dockerfile: 8.38kB                                                                                             0.0s
 => [internal] load metadata for nvcr.io/nvidia/l4t-cuda:12.2.12-devel                                                             0.5s
 => [internal] load .dockerignore                                                                                                  0.0s
 => => transferring context: 2B                                                                                                    0.0s
 => [stage-0  1/23] FROM nvcr.io/nvidia/l4t-cuda:12.2.12-devel@sha256:f9c4057f9c5dde81bf9d17be0eb89724fcfe2f709b3fbd1c8d9359b221b  0.0s
 => CACHED [stage-0  2/23] RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/a  0.0s
 => CACHED [stage-0  3/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y         software-pro  0.0s
 => CACHED [stage-0  4/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y     apt-utils     ba  0.0s
 => CACHED [stage-0  5/23] RUN --mount=type=cache,target=/var/cache/apt     wget -qO - https://isaac.download.nvidia.com/isaac-ro  0.0s
 => CACHED [stage-0  6/23] RUN --mount=type=cache,target=/var/cache/apt     apt-key adv --fetch-keys https://repo.download.nvidia  0.0s
 => CACHED [stage-0  7/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y     python3-dev       0.0s
 => CACHED [stage-0  8/23] RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1                             0.0s
 => CACHED [stage-0  9/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y     ffmpeg     gfort  0.0s
 => [stage-0 10/23] RUN python3 -m pip install -U     ninja                                                                        1.2s
 => [stage-0 11/23] RUN python3 -m pip install -U     Cython     pymongo     wheel     scikit-learn     networkx     "numpy>=1.  146.9s 
 => [stage-0 12/23] RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 14                  0.1s 
 => [stage-0 13/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends    215.5s 
 => [stage-0 14/23] RUN --mount=type=cache,target=/var/cache/apt mkdir -p /lib/firmware && apt-get update && apt-get install -y  241.9s 
 => [stage-0 15/23] RUN mkdir -p /opt/nvidia/tao && cd /opt/nvidia/tao &&     wget --content-disposition 'https://api.ngc.nvidia.  0.9s 
 => [stage-0 16/23] RUN python3 -m pip install --no-cache         https://developer.download.nvidia.com/compute/redist/jp/v60dp  122.2s 
 => [stage-0 17/23] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends     11.8s 
 => [stage-0 18/23] RUN --mount=type=cache,target=/var/cache/apt     cd /opt     && wget https://github.com/triton-inference-se  191.8s 
 => ERROR [stage-0 19/23] RUN --mount=type=cache,target=/var/cache/apt     wget -O /tmp/boost.tar.gz     https://boostorg.jfrog.i  2.3s 
------                                                                                                                                  
 > [stage-0 19/23] RUN --mount=type=cache,target=/var/cache/apt     wget -O /tmp/boost.tar.gz     https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz     && (cd /tmp && tar xzf boost.tar.gz)     && cd /tmp/boost_1_80_0     && ./bootstrap.sh --prefix=/usr     && ./b2 install     && rm -rf /tmp/boost*:                                                                          
0.046 --2025-01-14 09:15:31--  https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz                     
0.048 Resolving boostorg.jfrog.io (boostorg.jfrog.io)... 3.95.117.170, 18.214.194.113, 18.232.172.199                                   
0.072 Connecting to boostorg.jfrog.io (boostorg.jfrog.io)|3.95.117.170|:443... connected.
1.183 HTTP request sent, awaiting response... 302 Moved Temporarily
1.450 Location: https://landing.jfrog.com/reactivate-server/boostorg [following]
1.450 --2025-01-14 09:15:33--  https://landing.jfrog.com/reactivate-server/boostorg
1.450 Resolving landing.jfrog.com (landing.jfrog.com)... 18.232.172.199, 18.214.194.113, 3.95.117.170
1.463 Connecting to landing.jfrog.com (landing.jfrog.com)|18.232.172.199|:443... connected.
2.020 HTTP request sent, awaiting response... 200 OK
2.205 Length: 11534 (11K) [text/html]
2.205 Saving to: '/tmp/boost.tar.gz'
2.206 
2.206      0K .......... .                                          100% 23.2M=0s
2.206 
2.206 2025-01-14 09:15:33 (23.2 MB/s) - '/tmp/boost.tar.gz' saved [11534/11534]
2.206 
2.226 
2.226 gzip: stdin: not in gzip format
2.226 tar: Child returned status 1
2.226 tar: Error is not recoverable: exiting now
------

 1 warning found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 18)
Dockerfile.aarch64:219
--------------------
 218 |     # Current libboost-dev apt packages are < 1.78, so install from tar.gz
 219 | >>> RUN --mount=type=cache,target=/var/cache/apt \
 220 | >>>     wget -O /tmp/boost.tar.gz \
 221 | >>>     https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz \
 222 | >>>     && (cd /tmp && tar xzf boost.tar.gz) \
 223 | >>>     && cd /tmp/boost_1_80_0 \
 224 | >>>     && ./bootstrap.sh --prefix=/usr \
 225 | >>>     && ./b2 install \
 226 | >>>     && rm -rf /tmp/boost*
 227 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c wget -O /tmp/boost.tar.gz     https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz     && (cd /tmp && tar xzf boost.tar.gz)     && cd /tmp/boost_1_80_0     && ./bootstrap.sh --prefix=/usr     && ./b2 install     && rm -rf /tmp/boost*" did not complete successfully: exit code: 2
/mnt/nova_ssd/work2/isaac_ros-dev/src/isaac_ros_common

I also tried modifying the Dockerfile.aarch64 file by replacing "release-3.0" with "legacy-release-3.1", but the same error persists.

I would greatly appreciate any guidance or suggestions to resolve this issue. Thank you in advance for your help!

The boostorg.jfrog link doesn’t work and it downloads the page instead of the gzip.

You can use these lines to install boost lib

# Install boost version >= 1.78 for boost::span
# Current libboost-dev apt packages are < 1.78, so install from tar.gz
RUN --mount=type=cache,target=/var/cache/apt \
    wget -O /tmp/boost.tar.gz \
    https://sourceforge.net/projects/boost/files/boost/1.80.0/boost_1_80_0.tar.gz/download \
    && (cd /tmp && tar xzf boost.tar.gz) \
    && cd /tmp/boost_1_80_0 \
    && ./bootstrap.sh --prefix=/usr \
    && ./b2 install \
    && rm -rf /tmp/boost*```
1 Like

Thank you very much for your solution! Thanks to your guidance, everything is working perfectly now. I truly appreciate your help and support.

1 Like