Building environment

I am struggling to colcon build my docker environment. I could use some support. Is there a phone number I can call? Currently I can’t seem to get past the Argument list too long issue when I build. I am running Jetpack 6.0 on an ORIN NX and am trying to setup for using two realsense cameras with apriltag and movenet. I have been struggling with getting this thing setup for several weeks now and I really need to move on.

Here is an excerpt from where I am at now:

Starting >>> gxf_isaac_point_cloud
— stderr: custom_nitros_message_filter_interfaces
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren’t any

Finished <<< custom_nitros_message_filter_interfaces [21.3s]
Starting >>> image_proc
Finished <<< gxf_isaac_atlas [4.07s]
Starting >>> camera_calibration
Finished <<< gxf_isaac_gxf_helpers [4.90s]
Starting >>> depth_image_proc
Finished <<< gxf_isaac_messages [5.28s]
Starting >>> gxf_isaac_sgm
Finished <<< isaac_ros_test [3.74s]
Starting >>> isaac_ros_nitros
Finished <<< gxf_isaac_ros_messages [4.49s]
Starting >>> gxf_isaac_tensorops
Finished <<< camera_calibration [3.76s]
Starting >>> gxf_isaac_utils
Finished <<< gxf_isaac_point_cloud [4.45s]
Starting >>> gxf_isaac_depth_image_proc
[69.444s] ERROR:colcon.colcon_core.shell:Exception in shell extension ‘sh’: Expected [‘.’, ‘/workspaces/isaac_ros-dev/build/isaac_ros_nitros/colcon_command_prefix_build.sh’, ‘&&’, ‘env’] to pass: /bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_message_compositor/share/gxf_isaac_message_compositor/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_optimizer/share/gxf_isaac_optimizer/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_sight/share/gxf_isaac_sight/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_atlas/share/gxf_isaac_atlas/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_gxf_helpers/share/gxf_isaac_gxf_helpers/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: env: Argument list too long

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/colcon_core/shell/init.py”, line 308, in get_command_environment
return await extension.generate_command_environment(
File “/usr/lib/python3/dist-packages/colcon_core/shell/sh.py”, line 154, in generate_command_environment
env = await get_environment_variables(cmd, cwd=str(build_base))
File “/usr/lib/python3/dist-packages/colcon_core/shell/init.py”, line 344, in get_environment_variables
output = await check_output(cmd, cwd=cwd, shell=shell)
File “/usr/lib/python3/dist-packages/colcon_core/subprocess.py”, line 129, in check_output
assert not rc, f’Expected {args} to pass: {stderr_data}’
AssertionError: Expected [‘.’, ‘/workspaces/isaac_ros-dev/build/isaac_ros_nitros/colcon_command_prefix_build.sh’, ‘&&’, ‘env’] to pass: /bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_message_compositor/share/gxf_isaac_message_compositor/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_optimizer/share/gxf_isaac_optimizer/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_sight/share/gxf_isaac_sight/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_atlas/share/gxf_isaac_atlas/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: /workspaces/isaac_ros-dev/install/gxf_isaac_gxf_helpers/share/gxf_isaac_gxf_helpers/environment/library_path.sh: uname: Argument list too long
/bin/sh: 1: env: Argument list too long

[69.444s] ERROR:colcon.colcon_cmake.task.cmake.build:Could not find a shell extension for the command environment
Failed <<< isaac_ros_nitros [22.6s, exited with code 1]
Aborted <<< gxf_isaac_sgm [40.6s]
Aborted <<< gxf_isaac_image_flip [42.6s]
Aborted <<< gxf_isaac_utils [48.9s]
Aborted <<< image_proc [1min 27s]
Aborted <<< gxf_isaac_tensorops [1min 35s]
Aborted <<< depth_image_proc [1min 42s]
Aborted <<< gxf_isaac_depth_image_proc [1min 39s]

Summary: 27 packages finished [2min 27s]
1 package failed: isaac_ros_nitros
7 packages aborted: depth_image_proc gxf_isaac_depth_image_proc gxf_isaac_image_flip gxf_isaac_sgm gxf_isaac_tensorops gxf_isaac_utils image_proc
13 packages had stderr output: custom_nitros_message_filter_interfaces cv_bridge depth_image_proc gxf_isaac_depth_image_proc image_geometry isaac_ros_apriltag_interfaces isaac_ros_bi3d_interfaces isaac_ros_nitros_bridge_interfaces isaac_ros_nitros_interfaces isaac_ros_nova_interfaces isaac_ros_pointcloud_interfaces isaac_ros_tensor_list_interfaces realsense2_camera_msgs
52 packages not processed

I continue to have trouble. I have abandoned Isaac ROS because I can’t get it to compile or keep anything I add with Rosdep. I went back to vanilla ROS 2 Humble and I am getting some of the same errors. It appears there is a missing release file in one of your packages:

sudo apt update
Get:1 Index of linux/ubuntu/ jammy InRelease [48.8 kB]
Get:2 https://repo.download.nvidia.com/jetson/common r36.3 InRelease [2,558 B]
Get:3 Index of /ubuntu-ports jammy InRelease [270 kB]
Get:4 https://repo.download.nvidia.com/jetson/t234 r36.3 InRelease [2,550 B]
Get:5 https://repo.download.nvidia.com/jetson/ffmpeg r36.3 InRelease [2,464 B]
Get:6 https://repo.download.nvidia.com/jetson/common r36.3/main arm64 Packages [28.0 kB]
Ign:7 http://packages.ros.org/ros/ubuntu jammy InRelease
Get:8 Index of linux/ubuntu/ jammy/stable arm64 Packages [40.3 kB]
Get:9 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
Err:10 http://packages.ros.org/ros/ubuntu jammy Release
404 Not Found [IP: 140.211.166.134 80]

E: The repository ‘http://packages.ros.org/ros/ubuntu jammy Release’ does not have a Release file.

Thanks for reporting this. We have not seen this failure yet with library_path.sh before. This is within the Isaac ROS Dev container you’re able to reproduce this problem on an Orin NX/Jetpack 6.0 using Isaac ROS 3.1? We’ll try to reproduce it here and get back to you.

This error seems like you may have connectivity issues on your device? https://packages.ros.org/ros/ubuntu is the official OSRF-hosted CDN for ROS 2 which could have been intermittently offline. Can you reproduce this problem consistently still?

By the way, you can also just install the prebuilt debian for ros-humble-isaac-ros-apriltag as listed here under the Binary tab and avoid building from source altogether if that works for you.

I had the same problem with Isaac ROS and ROS 2 humble repository after abandoning Isaac ROS because I could not get it to finish building. I can’t swear it is not an intermittent network issue but it is definitely repeatable.

I just realized the issue. It is trying to pull a ROS 1 release for Jammy. No wonder it does not exist.

Get:9 http://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
Err:10 http://packages.ros.org/ros/ubuntu jammy Release

Hi @michael.e.wescott

We have also the Isaac Apt Repository — isaac_ros_docs documentation that you can install the ROS 2 humble packages and also the Isaac ROS packages under the binaries

Best,
Raffaello

I tried building from teh Isaac Apt Repository you suggested and I run into this which was very similar to what I had earlier from the ROS 2 repository:

sentry3@ubuntu:~/ros2_ws$ wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | sudo apt-key add -
grep -qxF “deb https://isaac.download.nvidia.com/isaac-ros/release-3.0 $(lsb_release -cs) release-3.0” /etc/apt/sources.list ||
echo “deb https://isaac.download.nvidia.com/isaac-ros/release-3.0 $(lsb_release -cs) release-3.0” | sudo tee -a /etc/apt/sources.list
sudo apt-get update
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
deb https://isaac.download.nvidia.com/isaac-ros/release-3.0 jammy release-3.0
Get:1 file:/var/cuda-tegra-repo-ubuntu2204-12-6-local InRelease [1,572 B]
Get:1 file:/var/cuda-tegra-repo-ubuntu2204-12-6-local InRelease [1,572 B]
Hit:2 http://packages.ros.org/ros2/ubuntu jammy InRelease
Hit:3 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:4 Index of /ubuntu-ports jammy InRelease
Hit:5 https://repo.download.nvidia.com/jetson/common r36.3 InRelease
Hit:6 Index of /ubuntu-ports jammy-updates InRelease
Hit:7 https://repo.download.nvidia.com/jetson/t234 r36.3 InRelease
Ign:8 https://isaac.download.nvidia.com/isaac-ros/release-3.0 jammy InRelease
Hit:9 Index of /ubuntu-ports jammy-backports InRelease
Hit:10 Index of /ubuntu-ports jammy-security InRelease
Hit:11 https://repo.download.nvidia.com/jetson/ffmpeg r36.3 InRelease
Err:12 https://isaac.download.nvidia.com/isaac-ros/release-3.0 jammy Release
404 Not Found [IP: 93.184.215.166 443]
Reading package lists… Done
E: The repository ‘https://isaac.download.nvidia.com/isaac-ros/release-3.0 jammy Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.