I am attempting to install the ZED SDK on my Jetson device running JetPack 6.1 in a Docker container, but the installation fails with the following error:
sed: can't read /etc/systemd/system/nvargus-daemon.service: No such file or directory
While this service exists on my host system, it seems to be inaccessible or missing inside the Docker container. Despite the script displaying ZED SDK installation complete!
, the SDK is not installed, and I cannot proceed.
System Information:
- JetPack Version: 6.1 (L4T 36.4)
- CUDA Version: 12.6
- SDK Version: ZED SDK 4.2
- Base OS (Host): Ubuntu 22.04 (arm64)
- Container Base Image: NVIDIA L4T Base Image (arm64)
Installation Steps:
- Installed all dependencies inside the Docker container using
apt-get
. - Downloaded the ZED SDK installation file (
ZED_SDK_Linux.run
) to/tmp
in the container. - Ran the installation command inside the Docker container:
sudo -u admin ./ZED_SDK_Linux.run silent skip_od_module skip_python skip_drivers
- Encountered the error about the missing
nvargus-daemon.service
.
Observations:
- The file
/etc/systemd/system/nvargus-daemon.service
exists on the host system but is not available inside the Docker container. - This may be causing the ZED SDK installation script to fail.
Questions:
- How can I resolve the
nvargus-daemon.service
issue in the Docker environment? - Do I need to mount additional host files or services into the container to make this work?
Additional Context:
I followed the Docker setup guidelines provided in the NVIDIA Isaac ROS documentation and included the following steps in the Dockerfile:
I install from ISAAC ROS Repo with
# Based on https://github.com/stereolabs/zed-docker
# Download dependencies for zed SDK installation RUN file
sudo apt-get update -y || true
sudo apt-get install --no-install-recommends lsb-release wget less zstd udev sudo apt-transport-https -y
# Download zed SDK installation RUN file to /tmp directory
cd /tmp
wget -q --no-check-certificate -O ZED_SDK_Linux.run +wget -q --no-check-certificate -O ZED_SDK_Linux.run https://download.stereolabs.com/zedsdk/4.2/l4t36.4/jetsons
sudo chmod 777 ./ZED_SDK_Linux.run
sudo -u admin ./ZED_SDK_Linux.run silent skip_od_module skip_python skip_drivers
# Symlink required to use the streaming features on Jetson inside a container, based on
# https://github.com/stereolabs/zed-docker/blob/fd514606174d8bb09f21a229f1099205b284ecb6/4.X/l4t/devel/Dockerfile#L27C5-L27C95
sudo ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so
# Cleanup
sudo rm -rf /usr/local/zed/resources/*
rm -rf ZED_SDK_Linux.run
sudo rm -rf /var/lib/apt/lists/*
:/workspaces/isaac_ros-dev$ sudo chmod +x ${ISAAC_ROS_WS}/src/isaac_ros_common/docker/scripts/install-zed-aarch64.sh && \
${ISAAC_ROS_WS}/src/isaac_ros_common/docker/scripts/install-zed-aarch64.sh
Hit:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
Hit:3 https://repo.download.nvidia.com/jetson/common r36.4 InRelease
Hit:4 http://packages.ros.org/ros2/ubuntu jammy InRelease
Hit:5 https://isaac.download.nvidia.com/isaac-ros/release-3 jammy InRelease
Hit:6 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Hit:7 https://deb.nodesource.com/node_18.x nodistro InRelease
Hit:8 https://dl.yarnpkg.com/debian stable InRelease
Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
Hit:10 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64 InRelease
Hit:11 https://repo.download.nvidia.com/jetson/t234 r36.4 InRelease
Hit:12 https://ppa.launchpadcontent.net/mosquitto-dev/mosquitto-ppa/ubuntu jammy InRelease
Get:13 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [2,805 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [24.2 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [2,227 kB]
Fetched 5,313 kB in 6s (903 kB/s)
Reading package lists... Done
W: https://repo.download.nvidia.com/jetson/common/dists/r36.4/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://isaac.download.nvidia.com/isaac-ros/release-3/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://repo.download.nvidia.com/jetson/t234/dists/r36.4/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
lsb-release is already the newest version (11.1.0ubuntu4).
zstd is already the newest version (1.4.8+dfsg-3build1).
zstd set to manually installed.
less is already the newest version (590-1ubuntu0.22.04.3).
less set to manually installed.
sudo is already the newest version (1.9.9-1ubuntu2.4).
udev is already the newest version (249.11-0ubuntu3.12).
wget is already the newest version (1.21.2-2ubuntu1.1).
apt-transport-https is already the newest version (2.4.13).
0 upgraded, 0 newly installed, 0 to remove and 42 not upgraded.
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing 'ZED camera SDK by Stereolabs (Use 'sudo apt install zstd' if zstd is not found)' 100%
WARNING: unknown parameter "skip_drivers" (ignored)
USAGE:
-h --help
--silent
--runtime_only
--skip_tools
--skip_cuda
--skip_od_module
--skip_python
--skip_hub
L4T version 36.4 detected. OK
Installation path: /usr/local/zed
Checking CUDA version...
OK: Found CUDA 12.6
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libjpeg-turbo8 is already the newest version (2.1.2-0ubuntu1).
libjpeg-turbo8 set to manually installed.
libpng-dev is already the newest version (1.6.37-3build5).
libpng-dev set to manually installed.
libv4l-0 is already the newest version (1.22.1-2build1).
freeglut3-dev is already the newest version (2.8.1-6).
libglew-dev is already the newest version (2.2.0-4).
libglew-dev set to manually installed.
libopenblas-dev is already the newest version (0.3.20+ds-1).
libqt5svg5 is already the newest version (5.15.3-1).
libqt5svg5 set to manually installed.
libturbojpeg is already the newest version (2.1.2-0ubuntu1).
qtchooser is already the newest version (66-2build1).
qtchooser set to manually installed.
curl is already the newest version (7.81.0-1ubuntu1.20).
libarchive-dev is already the newest version (3.6.0-1ubuntu1.3).
libusb-1.0-0 is already the newest version (2:1.0.25-1ubuntu2).
libusb-1.0-0 set to manually installed.
libusb-1.0-0-dev is already the newest version (2:1.0.25-1ubuntu2).
libusb-1.0-0-dev set to manually installed.
unzip is already the newest version (6.0-26ubuntu3.2).
zlib1g is already the newest version (1:1.2.11.dfsg-2ubuntu9.2).
libqt5opengl5 is already the newest version (5.15.3+dfsg-2ubuntu0.2).
libqt5opengl5 set to manually installed.
qt5-qmake is already the newest version (5.15.3+dfsg-2ubuntu0.2).
qt5-qmake set to manually installed.
qtbase5-dev is already the newest version (5.15.3+dfsg-2ubuntu0.2).
qtbase5-dev set to manually installed.
qtbase5-dev-tools is already the newest version (5.15.3+dfsg-2ubuntu0.2).
qtbase5-dev-tools set to manually installed.
The following additional packages will be installed:
mesa-utils-bin
The following NEW packages will be installed:
mesa-utils mesa-utils-bin
0 upgraded, 2 newly installed, 0 to remove and 42 not upgraded.
Need to get 1,117 kB of archives.
After this operation, 2,418 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 mesa-utils-bin arm64 8.4.0-1ubuntu1 [52.2 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 mesa-utils arm64 8.4.0-1ubuntu1 [1,065 kB]
Fetched 1,117 kB in 1s (1,729 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78, <> line 2.)
debconf: falling back to frontend: Readline
Selecting previously unselected package mesa-utils-bin:arm64.
(Reading database ... 168386 files and directories currently installed.)
Preparing to unpack .../mesa-utils-bin_8.4.0-1ubuntu1_arm64.deb ...
Unpacking mesa-utils-bin:arm64 (8.4.0-1ubuntu1) ...
Selecting previously unselected package mesa-utils.
Preparing to unpack .../mesa-utils_8.4.0-1ubuntu1_arm64.deb ...
Unpacking mesa-utils (8.4.0-1ubuntu1) ...
Setting up mesa-utils-bin:arm64 (8.4.0-1ubuntu1) ...
Setting up mesa-utils (8.4.0-1ubuntu1) ...
Processing triggers for man-db (2.10.2-1) ...
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Running in chroot, ignoring request.
Running in chroot, ignoring request.
sed: can't read /etc/systemd/system/nvargus-daemon.service: No such file or directory
ZED SDK installation complete !
Any assistance or insights on resolving this issue would be greatly appreciated!