ROS2 docker container install failing

Hello,

I am trying to install the ROS2 docker container on my AGX-NX and the install is failing. I am using jetpack 4.5.1 on the NX.

Things go ok until it starts building orcoos_kdl. At this point I consistently get the following error:

Starting >>> ament_cmake_google_benchmark
Finished <<< ament_cmake_google_benchmark [4.29s]
Starting >>> orocos_kdl
--- stderr: cyclonedds
You have called ADD_LIBRARY for library ddsc without any    source files. This typically indicates a problem with your CMakeLists.txt file
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
make[2]: *** [src/idlc/target/idlc-jar-with-dependencies.jar] Error 1
make[1]: *** [src/idlc/CMakeFiles/idlc.dir/all] Error 2
make: *** [all] Error 2
Failed   <<< cyclonedds [2min 52s, exited with code 2]
[Processing: cyclonedds, foonathan_memory_vendor, orocos_kdl, uncrustify_vendor, yaml_cpp_vendor, zstd_vendor]

I have also tried to install this container on a TX2 and get the same error. Has anyone been able to install the current ROS2 container, if so did you have to resolve this build error?

thank you

Hi @bruce4243, perhaps one of the packages changed or was updated in the build - in the meantime, are you able to run one of the pre-built container images from here?

https://github.com/NVIDIA-AI-IOT/ros2_jetson/tree/main/docker#pull-docker-images-from-docker-hub-follow

* ROS2 Foxy with PyTorch and TensorRT
    docker pull nvidiajetson/l4t-ros2-foxy-pytorch:r32.5

* ROS2 Foxy with DeepStream SDK
    docker pull nvidiajetson/deepstream-ros2-foxy:5.0.1

Hello,

I pulled and tried to build

* ROS2 Foxy with PyTorch and TensorRT
    docker pull nvidiajetson/l4t-ros2-foxy-pytorch:r32.5

This failed in exactly the same way as the other docker container. Am I supposed to install something in the base jetpack I installed on the NX before trying to build these containers? I think these containers must build since I am not seeing others with this problem.

Suggestions?

Finished <<< ament_cmake_google_benchmark [3.97s]
Starting >>> orocos_kdl
--- stderr: cyclonedds
You have called ADD_LIBRARY for library ddsc without any source files. This typically indicates a problem with your CMakeLists.txt file
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
make[2]: *** [src/idlc/target/idlc-jar-with-dependencies.jar] Error 1
make[1]: *** [src/idlc/CMakeFiles/idlc.dir/all] Error 2
make: *** [all] Error 2

Failed   <<< cyclonedds [3min 3s, exited with code 2]
[Processing: cyclonedds, foonathan_memory_vendor, orocos_kdl, uncrustify_vendor, yaml_cpp_vendor, zstd_vendor]
Aborted  <<< foonathan_memory_vendor [1min 58s]

Are you able to run the container without building it? nvidiajetson/l4t-ros2-foxy-pytorch:r32.5 is a prebuilt image that you should be able to run on JetPack 4.5/4.5.1. Or is this orocos_kdl package something that you are building extra as a package that you are installing on top of the container?

Hello,

Yes I can run the container. I misunderstood the README and thought I needed to also build it since I was not seeing any prebuilt examples to test it.
So yes I can run the container as downloaded. The error is when I try to build it, which I believe I need to do on the containers from your github. Is that correct, or did I also misunderstood your repo?
The orocos_kdl is something the docker build is pulling in, not something I am trying to add. Are you able to build these dockers?

thank you

The container images from this repo are pre-built and so you don’t need to build them yourself:

https://github.com/NVIDIA-AI-IOT/ros2_jetson/tree/main/docker#pull-docker-images-from-docker-hub-follow

nvidiajetson/l4t-ros2-foxy-pytorch:r32.5 is one of these pre-built container images that you don’t need to build. It provides ros_base, and you can build/install your ROS2 application on top of it.

Hello,

Thank you for the assistance, I will use these prebuilt containers for now. At some point I will need to be able to build the container locally and will reach out for assistance if still having issues.
For my own understanding do you know if others are able to successfully build the containers from the docker file, or is this error for others?

thank you for the assistance