Issac ROS run_dev.sh cannot locate nvv4l2

Hello, On the Ubuntu 22.04 x86_64 Following the installation instructions here: Isaac ROS 3.1 setup. When i run ./scripts/run_dev.sh -d ${ISAAC_ROS_WS}

=> ERROR [stage-0 10/18] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y nvv4l2 && ln -s /usr/lib/x86_64-linux-gnu/libnvcuv 4.0s

[stage-0 10/18] RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y nvv4l2 && ln -s /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1 /usr/lib/x86_64-linux-gnu/libnvcuvid.so && ln -s /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-encode.so:
0.468 Hit:1 Index of /compute/cuda/repos/ubuntu2204/x86_64 InRelease
0.754 Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
1.104 Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
1.134 Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
1.411 Hit:5 https://isaac.download.nvidia.com/isaac-ros/release-3 jammy InRelease
2.435 Get:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
2.838 Fetched 384 kB in 3s (144 kB/s)
2.838 Reading package lists…
3.339 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.
3.358 Reading package lists…
3.848 Building dependency tree…
3.955 Reading state information…
3.961 E: Unable to locate package nvv4l2

Thank for the help.

Hello @robert_831,

Welcome to the forum and thanks for the post!
Seems like the package nvv4l2 is not being installed correctly in you container.
You can try running this command again with no cache to force a clean download and rebuild.
./scripts/run_dev.sh -d ${ISAAC_ROS_WS} --no-cache

Although this will make the build take significantly longer.

Hi, thanks for your reply.

I tried running it, but it seems that the run_dev.sh script does not support the --no-cache option.

getopt: unrecognized option ‘–no-cache’

Did you mean that I should pass this option directly to the docker build command instead?

Hi, I tried running:
./scripts/run_dev.sh -d ${ISAAC_ROS_WS} --docker_arg='no-cache'
but I get the same result.

Alternatively, can I choose to skip installing this package, or use another replacement package such as v4l-utils instead?

Sorry for the confusion but I mean directly build with docker command like this,

$ docker build --no-cache -t isaac-ros-dev:3.1 -f ${ISAAC_ROS_WS}/src/isaac_ros_common/docker/Dockerfile.base ${ISAAC_ROS_WS}/src/isaac_ros_common/

With this command it will force Docker to re-run apt-get update and attempt to install nvv4l2 with the absolute latest package lists.

If the nvv4l2 package is successfully found this time, the build will complete, and you will have a new image named isaac-ros-dev:3.1.(Please change to the name you want.)

If the manual build with --no-cache still fails, you can bypass the immediate failure by temporarily commenting out the failing line and installing the package manually inside the running container after the build completes.

I’ve tried building directly with the Docker command as suggested. However, it still fails to locate the nvv4l2 package. I also tried running apt-get update && apt-get install -y nvv4l2 directly inside the container, and I get the same response.

In addition, I noticed that when attempting to install packages
RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y nghttp2=1.43.0-1ubuntu0.2 openssh-client=1:8.9p1-3ubuntu0.10 libcurl3-gnutls=7.81.0-1ubuntu1.20 libc-bin=2.35-0ubuntu3.8
is unable to find or install these specific version, succeeds when the version numbers are not specified.

I have another question regarding the setup steps for my Intel RealSense D455 camera. After running:
cd ${ISAAC_ROS_WS} && \ colcon build --symlink-install --packages-up-to-regex realsense*

And when I try to detect the camera using:
realsense-viewer

I get the following output:
12/11 17:36:29,692 INFO [126900765786112] (context.cpp:116) … 4-4-2
12/11 17:36:29,692 INFO [126900765786112] (context.cpp:116) … 3-11-5
12/11 17:36:29,692 INFO [126900765786112] (context.cpp:128) Found 2 RealSense devices (0xff requested & 0xff from device-mask in settings)

But the left panel in the viewer does not show any connected camera. Did I miss a step in the setup, or is something else wrong?

I solved it because it was a USB permissions issue.

sudo cp ~/.99-realsense-libusb.rules /etc/udev/rules.d/99-realsense-libusb.rules

sudo udevadm control --reload-rules

sudo udevadm trigger

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.