Giter Club home page Giter Club logo

Comments (4)

cottsay avatar cottsay commented on August 22, 2024

I'm not sure how colcon could do any of this differently. How would you expect this project to build without colcon involved at all?

It seems like the root of your problem is that Torch is installed to your home directory and your environment variables are not updated to enable discoverability from that location. This would all happen (presumably by pip) prior to building the package at all, whether colcon is involved or not.

Is there a system package for Torch you could use instead?

from colcon-core.

gorghino avatar gorghino commented on August 22, 2024

Hi @cottsay !
I'm not sure colcon can do it differently, but I'm trying to understand which is the good practice for this situation.
My final goal is to avoid asking the user to add /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/ manually to LD_LIBRARY_PATH if cmake/colcon can do it. I'm not very familiar with colcon and maybe I'm missing some useful flags or cmake directives.

For example this is the colcon log when I compile online_traj:


nvidia@nvidia:~/ws$ colcon build --packages-select online_traj --event-handlers console_cohesion+ --cmake-args -DCMAKE_VERBOSE_MAKEFILE=ON
Starting >>> online_traj
[Processing: online_traj]                             
[Processing: online_traj]                                     
--- output: online_traj                                        
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 1.3.8 (/home/nvidia/ros2_humble/install/share/ament_cmake/cmake)
-- Found Python3: /usr/bin/python3 (found version "3.8.10") found components: Interpreter 
-- Found CUDA: /usr/local/cuda-11.4 (found version "11.4") 
-- The CUDA compiler identification is NVIDIA 11.4.315
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda-11.4/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Found CUDAToolkit: /usr/local/cuda-11.4/include (found version "11.4.315") 
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Caffe2: CUDA detected: 11.4
-- Caffe2: CUDA nvcc is: /usr/local/cuda-11.4/bin/nvcc
-- Caffe2: CUDA toolkit directory: /usr/local/cuda-11.4
-- Caffe2: Header version is: 11.4
-- /usr/local/cuda-11.4/lib64/libnvrtc.so shorthash is 7c7201d5
-- USE_CUDNN is set to 0. Compiling without cuDNN support
-- Autodetected CUDA architecture(s):  8.7
-- Added CUDA NVCC flags for: -gencode;arch=compute_87,code=sm_87
-- Found Torch: /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so  
-- Found eigen3_cmake_module: 0.1.1 (/home/nvidia/ros2_humble/install/share/eigen3_cmake_module/cmake)
-- Found Eigen3: TRUE (found version "3.3.7") 
-- Found rclcpp: 16.0.8 (/home/nvidia/ros2_humble/install/share/rclcpp/cmake)
-- Found rosidl_generator_c: 3.1.5 (/home/nvidia/ros2_humble/install/share/rosidl_generator_c/cmake)
-- Found rosidl_adapter: 3.1.5 (/home/nvidia/ros2_humble/install/share/rosidl_adapter/cmake)
-- Found rosidl_generator_cpp: 3.1.5 (/home/nvidia/ros2_humble/install/share/rosidl_generator_cpp/cmake)
-- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c
-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp
-- Found rmw_implementation_cmake: 6.1.1 (/home/nvidia/ros2_humble/install/share/rmw_implementation_cmake/cmake)
-- Found rmw_fastrtps_cpp: 6.2.6 (/home/nvidia/ros2_humble/install/share/rmw_fastrtps_cpp/cmake)
-- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "1.1.1f")  
-- Found FastRTPS: /home/nvidia/ros2_humble/install/include  
-- Using RMW implementation 'rmw_fastrtps_cpp' as default
-- Found dr_msgs: 0.0.4 (/home/nvidia/ws/install/dr_msgs/share/dr_msgs/cmake)
-- Found yaml_cpp_vendor: 8.0.2 (/home/nvidia/ros2_humble/install/share/yaml_cpp_vendor/cmake)
-- Found control_utils: 0.0.0 (/home/nvidia/ws/install/control_utils/share/control_utils/cmake)
-- Configuring done (7.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/nvidia/ws/build/online_traj
Change Dir: '/home/nvidia/ws/build/online_traj'

Run Build Command(s): /home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile -j8 -l8
/home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -S/home/nvidia/ws/src/controllers/online_traj -B/home/nvidia/ws/build/online_traj --check-build-system CMakeFiles/Makefile.cmake 0
/home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_progress_start /home/nvidia/ws/build/online_traj/CMakeFiles /home/nvidia/ws/build/online_traj//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/nvidia/ws/build/online_traj'
/usr/bin/make  -f CMakeFiles/online_traj.dir/build.make CMakeFiles/online_traj.dir/depend
/usr/bin/make  -f CMakeFiles/chunk_node.dir/build.make CMakeFiles/chunk_node.dir/depend
make[2]: Entering directory '/home/nvidia/ws/build/online_traj'
cd /home/nvidia/ws/build/online_traj && /home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" /home/nvidia/ws/src/controllers/online_traj /home/nvidia/ws/src/controllers/online_traj /home/nvidia/ws/build/online_traj /home/nvidia/ws/build/online_traj /home/nvidia/ws/build/online_traj/CMakeFiles/online_traj.dir/DependInfo.cmake "--color="
make[2]: Entering directory '/home/nvidia/ws/build/online_traj'
cd /home/nvidia/ws/build/online_traj && /home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_depends "Unix Makefiles" /home/nvidia/ws/src/controllers/online_traj /home/nvidia/ws/src/controllers/online_traj /home/nvidia/ws/build/online_traj /home/nvidia/ws/build/online_traj /home/nvidia/ws/build/online_traj/CMakeFiles/chunk_node.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/nvidia/ws/build/online_traj'
/usr/bin/make  -f CMakeFiles/online_traj.dir/build.make CMakeFiles/online_traj.dir/build
make[2]: Leaving directory '/home/nvidia/ws/build/online_traj'
/usr/bin/make  -f CMakeFiles/chunk_node.dir/build.make CMakeFiles/chunk_node.dir/build
make[2]: Entering directory '/home/nvidia/ws/build/online_traj'
make[2]: Entering directory '/home/nvidia/ws/build/online_traj'
[ 50%] Building CXX object CMakeFiles/online_traj.dir/src/online_traj.cpp.o
[ 50%] Building CXX object CMakeFiles/chunk_node.dir/src/chunk_node.cpp.o
/usr/bin/c++ -DDEFAULT_RMW_IMPLEMENTATION=rmw_fastrtps_cpp -DRCUTILS_ENABLE_FAULT_INJECTION -I/usr/include/eigen3 -I/home/nvidia/ws/src/controllers/online_traj/include -isystem /home/nvidia/ws/install/dr_msgs/include/dr_msgs -isystem /home/nvidia/ros2_humble/install/include/rclcpp -isystem /home/nvidia/ros2_humble/install/include/ament_index_cpp -isystem /home/nvidia/ros2_humble/install/include/libstatistics_collector -isystem /home/nvidia/ros2_humble/install/include/builtin_interfaces -isystem /home/nvidia/ros2_humble/install/include/rosidl_runtime_c -isystem /home/nvidia/ros2_humble/install/include/rcutils -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_interface -isystem /home/nvidia/ros2_humble/install/include -isystem /home/nvidia/ros2_humble/install/include/rosidl_runtime_cpp -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_fastrtps_cpp -isystem /home/nvidia/ros2_humble/install/include/rmw -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_fastrtps_c -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_introspection_c -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_introspection_cpp -isystem /home/nvidia/ros2_humble/install/include/rcl -isystem /home/nvidia/ros2_humble/install/include/rcl_interfaces -isystem /home/nvidia/ros2_humble/install/include/rcl_logging_interface -isystem /home/nvidia/ros2_humble/install/include/rcl_yaml_param_parser -isystem /home/nvidia/ros2_humble/install/include/libyaml_vendor -isystem /home/nvidia/ros2_humble/install/include/tracetools -isystem /home/nvidia/ros2_humble/install/include/rcpputils -isystem /home/nvidia/ros2_humble/install/include/statistics_msgs -isystem /home/nvidia/ros2_humble/install/include/rosgraph_msgs -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_cpp -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_c -isystem /home/nvidia/ros2_humble/install/include/geometry_msgs -isystem /home/nvidia/ros2_humble/install/include/std_msgs -isystem /home/nvidia/ros2_humble/install/include/sensor_msgs -isystem /home/nvidia/.local/lib/python3.8/site-packages/torch/include -isystem /home/nvidia/.local/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /usr/local/cuda-11.4/include -std=gnu++17 -Wall -Wextra -Wpedantic -D_GLIBCXX_USE_CXX11_ABI=1 -MD -MT CMakeFiles/online_traj.dir/src/online_traj.cpp.o -MF CMakeFiles/online_traj.dir/src/online_traj.cpp.o.d -o CMakeFiles/online_traj.dir/src/online_traj.cpp.o -c /home/nvidia/ws/src/controllers/online_traj/src/online_traj.cpp
/usr/bin/c++ -DDEFAULT_RMW_IMPLEMENTATION=rmw_fastrtps_cpp -DRCUTILS_ENABLE_FAULT_INJECTION -isystem /home/nvidia/ws/install/control_utils/include -isystem /home/nvidia/ws/install/dr_msgs/include/dr_msgs -isystem /home/nvidia/ros2_humble/install/include/rclcpp -isystem /usr/include/eigen3 -isystem /home/nvidia/ros2_humble/install/include/ament_index_cpp -isystem /home/nvidia/ros2_humble/install/include/libstatistics_collector -isystem /home/nvidia/ros2_humble/install/include/builtin_interfaces -isystem /home/nvidia/ros2_humble/install/include/rosidl_runtime_c -isystem /home/nvidia/ros2_humble/install/include/rcutils -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_interface -isystem /home/nvidia/ros2_humble/install/include -isystem /home/nvidia/ros2_humble/install/include/rosidl_runtime_cpp -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_fastrtps_cpp -isystem /home/nvidia/ros2_humble/install/include/rmw -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_fastrtps_c -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_introspection_c -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_introspection_cpp -isystem /home/nvidia/ros2_humble/install/include/rcl -isystem /home/nvidia/ros2_humble/install/include/rcl_interfaces -isystem /home/nvidia/ros2_humble/install/include/rcl_logging_interface -isystem /home/nvidia/ros2_humble/install/include/rcl_yaml_param_parser -isystem /home/nvidia/ros2_humble/install/include/libyaml_vendor -isystem /home/nvidia/ros2_humble/install/include/tracetools -isystem /home/nvidia/ros2_humble/install/include/rcpputils -isystem /home/nvidia/ros2_humble/install/include/statistics_msgs -isystem /home/nvidia/ros2_humble/install/include/rosgraph_msgs -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_cpp -isystem /home/nvidia/ros2_humble/install/include/rosidl_typesupport_c -isystem /home/nvidia/ros2_humble/install/include/geometry_msgs -isystem /home/nvidia/ros2_humble/install/include/std_msgs -isystem /home/nvidia/ros2_humble/install/include/sensor_msgs -std=gnu++17 -Wall -Wextra -Wpedantic -MD -MT CMakeFiles/chunk_node.dir/src/chunk_node.cpp.o -MF CMakeFiles/chunk_node.dir/src/chunk_node.cpp.o.d -o CMakeFiles/chunk_node.dir/src/chunk_node.cpp.o -c /home/nvidia/ws/src/controllers/online_traj/src/chunk_node.cpp
[ 75%] Linking CXX executable chunk_node
/home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/chunk_node.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/chunk_node.dir/src/chunk_node.cpp.o -o chunk_node  -Wl,-rpath,/home/nvidia/ros2_humble/install/lib:/home/nvidia/ws/install/dr_msgs/lib: /home/nvidia/ros2_humble/install/lib/librclcpp.so /home/nvidia/ws/install/control_utils/lib/libcontrol_utils.a /home/nvidia/ros2_humble/install/lib/liblibstatistics_collector.so /home/nvidia/ros2_humble/install/lib/librcl.so /home/nvidia/ros2_humble/install/lib/librmw_implementation.so /home/nvidia/ros2_humble/install/lib/libament_index_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_logging_spdlog.so /home/nvidia/ros2_humble/install/lib/librcl_logging_interface.so -lpthread /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librcl_yaml_param_parser.so /home/nvidia/ros2_humble/install/lib/libyaml.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libtracetools.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libfastcdr.so.1.0.24 /home/nvidia/ros2_humble/install/lib/librmw.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_py.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcpputils.so /home/nvidia/ros2_humble/install/lib/librosidl_runtime_c.so /home/nvidia/ros2_humble/install/lib/librcutils.so -ldl /usr/lib/aarch64-linux-gnu/libpython3.8.so 
make[2]: Leaving directory '/home/nvidia/ws/build/online_traj'
[ 75%] Built target chunk_node
[100%] Linking CXX executable online_traj
/home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/online_traj.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/online_traj.dir/src/online_traj.cpp.o -o online_traj  -Wl,-rpath,/home/nvidia/ros2_humble/install/lib:/home/nvidia/ws/install/dr_msgs/lib:/home/nvidia/.local/lib/python3.8/site-packages/torch/lib:/usr/local/cuda-11.4/lib64: /home/nvidia/ros2_humble/install/lib/librclcpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_py.so /usr/lib/aarch64-linux-gnu/libyaml-cpp.so.0.6.2 /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10.so /usr/lib/aarch64-linux-gnu/libcuda.so /usr/local/cuda-11.4/lib64/libnvrtc.so /usr/local/cuda-11.4/lib64/libnvToolsExt.so /usr/local/cuda-11.4/lib64/libcudart.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10_cuda.so /home/nvidia/ros2_humble/install/lib/liblibstatistics_collector.so /home/nvidia/ros2_humble/install/lib/librcl.so /home/nvidia/ros2_humble/install/lib/librmw_implementation.so /home/nvidia/ros2_humble/install/lib/libament_index_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_logging_spdlog.so /home/nvidia/ros2_humble/install/lib/librcl_logging_interface.so -lpthread /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librcl_yaml_param_parser.so /home/nvidia/ros2_humble/install/lib/libyaml.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libtracetools.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libfastcdr.so.1.0.24 /home/nvidia/ros2_humble/install/lib/librmw.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcpputils.so /home/nvidia/ros2_humble/install/lib/librosidl_runtime_c.so /home/nvidia/ros2_humble/install/lib/librcutils.so -ldl /usr/lib/aarch64-linux-gnu/libpython3.8.so -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cpu.so" -Wl,--as-needed -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cuda.so" -Wl,--as-needed /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10_cuda.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10.so /usr/local/cuda-11.4/lib64/libcudart.so /usr/local/cuda-11.4/lib64/libnvToolsExt.so /usr/local/cuda-11.4/lib64/libcufft.so /usr/local/cuda-11.4/lib64/libcurand.so /usr/local/cuda-11.4/lib64/libcublas.so /usr/local/cuda-11.4/lib64/libcublasLt.so -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so" -Wl,--as-needed 
make[2]: Leaving directory '/home/nvidia/ws/build/online_traj'
[100%] Built target online_traj
make[1]: Leaving directory '/home/nvidia/ws/build/online_traj'
/home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake -E cmake_progress_start /home/nvidia/ws/build/online_traj/CMakeFiles 0

-- Install configuration: ""
-- Installing: /home/nvidia/ws/install/online_traj/lib/online_traj/online_traj
-- Set non-toolchain portion of runtime path of "/home/nvidia/ws/install/online_traj/lib/online_traj/online_traj" to ""
-- Installing: /home/nvidia/ws/install/online_traj/lib/online_traj/chunk_node
-- Set non-toolchain portion of runtime path of "/home/nvidia/ws/install/online_traj/lib/online_traj/chunk_node" to "/home/nvidia/ros2_humble/install/lib:/home/nvidia/ws/install/dr_msgs/lib"
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/config
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/config/quadrotor_env.yaml
-- Installing: /home/nvidia/ws/install/online_traj/share/ament_index/resource_index/package_run_dependencies/online_traj
-- Installing: /home/nvidia/ws/install/online_traj/share/ament_index/resource_index/parent_prefix_path/online_traj
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/environment/ament_prefix_path.sh
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/environment/ament_prefix_path.dsv
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/environment/path.sh
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/environment/path.dsv
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/local_setup.bash
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/local_setup.sh
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/local_setup.zsh
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/local_setup.dsv
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/package.dsv
-- Installing: /home/nvidia/ws/install/online_traj/share/ament_index/resource_index/packages/online_traj
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/cmake/online_trajConfig.cmake
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/cmake/online_trajConfig-version.cmake
-- Installing: /home/nvidia/ws/install/online_traj/share/online_traj/package.xml
---
Finished <<< online_traj [1min 8s]

Summary: 1 package finished [1min 9s]

In the linking step I can see the correct links to the .so files that are missing in the final exe (e.g. /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so).

Another test I tried is to launch the last c++ command from the log above, inside build/online_traj:

nvidia@nvidia:~/ws/build/online_traj$ /usr/bin/c++ CMakeFiles/online_traj.dir/src/online_traj.cpp.o -o online_traj  -Wl,-rpath,/home/nvidia/ros2_humble/install/lib:/home/nvidia/ws/install/dr_msgs/lib:/home/nvidia/.local/lib/python3.8/site-packages/torch/lib:/usr/local/cuda-11.4/lib64: /home/nvidia/ros2_humble/install/lib/librclcpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_py.so /usr/lib/aarch64-linux-gnu/libyaml-cpp.so.0.6.2 /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10.so /usr/lib/aarch64-linux-gnu/libcuda.so /usr/local/cuda-11.4/lib64/libnvrtc.so /usr/local/cuda-11.4/lib64/libnvToolsExt.so /usr/local/cuda-11.4/lib64/libcudart.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10_cuda.so /home/nvidia/ros2_humble/install/lib/liblibstatistics_collector.so /home/nvidia/ros2_humble/install/lib/librcl.so /home/nvidia/ros2_humble/install/lib/librmw_implementation.so /home/nvidia/ros2_humble/install/lib/libament_index_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_logging_spdlog.so /home/nvidia/ros2_humble/install/lib/librcl_logging_interface.so -lpthread /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librcl_yaml_param_parser.so /home/nvidia/ros2_humble/install/lib/libyaml.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libtracetools.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_fastrtps_cpp.so /home/nvidia/ros2_humble/install/lib/libfastcdr.so.1.0.24 /home/nvidia/ros2_humble/install/lib/librmw.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_introspection_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_cpp.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_c.so /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libsensor_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_py.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/libstd_msgs__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_c.so /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_c.so /home/nvidia/ros2_humble/install/lib/librcpputils.so /home/nvidia/ros2_humble/install/lib/librosidl_runtime_c.so /home/nvidia/ros2_humble/install/lib/librcutils.so -ldl /usr/lib/aarch64-linux-gnu/libpython3.8.so -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cpu.so" -Wl,--as-needed -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cuda.so" -Wl,--as-needed /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10_cuda.so /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10.so /usr/local/cuda-11.4/lib64/libcudart.so /usr/local/cuda-11.4/lib64/libnvToolsExt.so /usr/local/cuda-11.4/lib64/libcufft.so /usr/local/cuda-11.4/lib64/libcurand.so /usr/local/cuda-11.4/lib64/libcublas.so /usr/local/cuda-11.4/lib64/libcublasLt.so -Wl,--no-as-needed,"/home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so" -Wl,--as-needed

which correctly creates the exe online_traj in the same folder.
THIS exe has all the corresponding libraries instead and this is ok without setting the library in the env:

nvidia@nvidia:~/ws$ echo $LD_LIBRARY_PATH
/home/nvidia/ws/install/optimization_utils/lib:/home/nvidia/ws/install/dr_msgs/lib:/home/nvidia/ros2_humble/install/opt/rviz_ogre_vendor/lib:/home/nvidia/ros2_humble/install/lib:/usr/local/cuda-11.4/lib64:
nvidia@nvidia:~/ws/build/online_traj$ ls
CMakeCache.txt  CTestConfiguration.ini  CTestTestfile.cmake  ament_cmake_core               ament_cmake_index              ament_cmake_uninstall_target  cmake_args.last      colcon_build.rc                 colcon_command_prefix_build.sh.env   detect_cuda_version.cc  online_traj
CMakeFiles      CTestCustom.cmake       Makefile             ament_cmake_environment_hooks  ament_cmake_package_templates  chunk_node                    cmake_install.cmake  colcon_command_prefix_build.sh  detect_cuda_compute_capabilities.cu  install_manifest.txt
nvidia@nvidia:~/ws/build/online_traj$ ldd online_traj 
	linux-vdso.so.1 (0x0000ffff88dc5000)
	librclcpp.so => /home/nvidia/ros2_humble/install/lib/librclcpp.so (0x0000ffff88950000)
	libdr_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ws/install/dr_msgs/lib/libdr_msgs__rosidl_typesupport_cpp.so (0x0000ffff88939000)
	libyaml-cpp.so.0.6 => /lib/aarch64-linux-gnu/libyaml-cpp.so.0.6 (0x0000ffff888af000)
	libc10.so => /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10.so (0x0000ffff887f8000)
	liblibstatistics_collector.so => /home/nvidia/ros2_humble/install/lib/liblibstatistics_collector.so (0x0000ffff887e2000)
	librcl.so => /home/nvidia/ros2_humble/install/lib/librcl.so (0x0000ffff88798000)
	libstatistics_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_cpp.so (0x0000ffff88785000)
	libtracetools.so => /home/nvidia/ros2_humble/install/lib/libtracetools.so (0x0000ffff88772000)
	librmw.so => /home/nvidia/ros2_humble/install/lib/librmw.so (0x0000ffff88759000)
	libgeometry_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_cpp.so (0x0000ffff88740000)
	librcutils.so => /home/nvidia/ros2_humble/install/lib/librcutils.so (0x0000ffff8871a000)
	libtorch_cpu.so => /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cpu.so (0x0000ffff82455000)
	libtorch_cuda.so => /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch_cuda.so (0x0000ffff76aa0000)
	libtorch.so => /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libtorch.so (0x0000ffff76a8e000)
	libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff768a9000)
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff767fe000)
	libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff767da000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff76667000)
	/lib/ld-linux-aarch64.so.1 (0x0000ffff88d95000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff76636000)
	librcl_interfaces__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_cpp.so (0x0000ffff7661d000)
	librcl_yaml_param_parser.so => /home/nvidia/ros2_humble/install/lib/librcl_yaml_param_parser.so (0x0000ffff76603000)
	librosgraph_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/librosgraph_msgs__rosidl_typesupport_cpp.so (0x0000ffff765f1000)
	librmw_implementation.so => /home/nvidia/ros2_humble/install/lib/librmw_implementation.so (0x0000ffff765d6000)
	libament_index_cpp.so => /home/nvidia/ros2_humble/install/lib/libament_index_cpp.so (0x0000ffff765be000)
	librcl_logging_interface.so => /home/nvidia/ros2_humble/install/lib/librcl_logging_interface.so (0x0000ffff765ab000)
	librcpputils.so => /home/nvidia/ros2_humble/install/lib/librcpputils.so (0x0000ffff7658e000)
	librosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_cpp.so (0x0000ffff7657a000)
	libnuma.so.1 => /lib/aarch64-linux-gnu/libnuma.so.1 (0x0000ffff7655b000)
	librcl_logging_spdlog.so => /home/nvidia/ros2_humble/install/lib/librcl_logging_spdlog.so (0x0000ffff76544000)
	librcl_interfaces__rosidl_typesupport_c.so => /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_typesupport_c.so (0x0000ffff7652c000)
	librcl_interfaces__rosidl_generator_c.so => /home/nvidia/ros2_humble/install/lib/librcl_interfaces__rosidl_generator_c.so (0x0000ffff76501000)
	librosidl_runtime_c.so => /home/nvidia/ros2_humble/install/lib/librosidl_runtime_c.so (0x0000ffff764e8000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff764d4000)
	librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff764bc000)
	libopenblas.so.0 => /lib/aarch64-linux-gnu/libopenblas.so.0 (0x0000ffff75624000)
	libgomp.so.1 => /lib/aarch64-linux-gnu/libgomp.so.1 (0x0000ffff755d4000)
	libc10_cuda.so => /home/nvidia/.local/lib/python3.8/site-packages/torch/lib/libc10_cuda.so (0x0000ffff75558000)
	libcudart.so.11.0 => /usr/local/cuda-11.4/lib64/libcudart.so.11.0 (0x0000ffff7549c000)
	libcusparse.so.11 => /usr/local/cuda-11.4/lib64/libcusparse.so.11 (0x0000ffff677f5000)
	libcurand.so.10 => /usr/local/cuda-11.4/lib64/libcurand.so.10 (0x0000ffff6274b000)
	libcufft.so.10 => /usr/local/cuda-11.4/lib64/libcufft.so.10 (0x0000ffff577e1000)
	libnvToolsExt.so.1 => /usr/local/cuda-11.4/lib64/libnvToolsExt.so.1 (0x0000ffff577c5000)
	libcudnn.so.8 => /lib/aarch64-linux-gnu/libcudnn.so.8 (0x0000ffff5778e000)
	libcublas.so.11 => /usr/local/cuda-11.4/lib64/libcublas.so.11 (0x0000ffff4d6b5000)
	libcublasLt.so.11 => /usr/local/cuda-11.4/lib64/libcublasLt.so.11 (0x0000ffff36114000)
	libyaml.so => /home/nvidia/ros2_humble/install/lib/libyaml.so (0x0000ffff360e7000)
	libspdlog.so.1 => /lib/aarch64-linux-gnu/libspdlog.so.1 (0x0000ffff3603b000)
	librosidl_typesupport_c.so => /home/nvidia/ros2_humble/install/lib/librosidl_typesupport_c.so (0x0000ffff36027000)
	libbuiltin_interfaces__rosidl_generator_c.so => /home/nvidia/ros2_humble/install/lib/libbuiltin_interfaces__rosidl_generator_c.so (0x0000ffff36013000)
	libgfortran.so.5 => /lib/aarch64-linux-gnu/libgfortran.so.5 (0x0000ffff35e98000)

Even sourcing the ROS2 workspace doesn't seem to work with the exe under install though.

nvidia@nvidia:~/ws$ . install/setup.bash
nvidia@nvidia:~/ws$ ldd install/online_traj/lib/online_traj/online_traj
	.....
	libyaml-cpp.so.0.6 => /lib/aarch64-linux-gnu/libyaml-cpp.so.0.6 (0x0000ffff90340000)
	libc10.so => not found
	liblibstatistics_collector.so => /home/nvidia/ros2_humble/install/lib/liblibstatistics_collector.so (0x0000ffff9032a000)
	librcl.so => /home/nvidia/ros2_humble/install/lib/librcl.so (0x0000ffff902e0000)
	libstatistics_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/libstatistics_msgs__rosidl_typesupport_cpp.so (0x0000ffff902cd000)
	libtracetools.so => /home/nvidia/ros2_humble/install/lib/libtracetools.so (0x0000ffff902ba000)
	librmw.so => /home/nvidia/ros2_humble/install/lib/librmw.so (0x0000ffff902a1000)
	libgeometry_msgs__rosidl_typesupport_cpp.so => /home/nvidia/ros2_humble/install/lib/libgeometry_msgs__rosidl_typesupport_cpp.so (0x0000ffff90288000)
	librcutils.so => /home/nvidia/ros2_humble/install/lib/librcutils.so (0x0000ffff90262000)
	libtorch_cpu.so => not found
	libtorch_cuda.so => not found
	libtorch.so => not found
	libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff9007d000)
        .....

from colcon-core.

cottsay avatar cottsay commented on August 22, 2024

It seems that the mechanism by which Torch wants you to locate the shared libraries is using an RPATH on your binaries. CMake is likely stripping RPATHs during installation, as is the default behavior on most platforms.

These RPATHs are an embedded path in the binary that lets the runtime library loader know about additional locations to look for dynamic libraries. That's why manually creating the executable seems to "work" - the RPATHs haven't yet been stripped by CMake.

RPATHs are pretty controversial. Many developers swear by them and sometimes require them when building their software. Platform maintainers, on the other hand, often forbid absolute RPATHs. Major distributions like Debian, Ubuntu, and Fedora discourage their use for a variety of reasons. There are valid reasons on both sides that we won't get into here.

Since Torch has forced your hand, you'll need to instruct CMake to include at least some RPATHs at install time. The most notable downside here is that the binaries you create will no longer be portable, meaning that they'll only be able to find the Torch libraries if they're located exactly where you have them when you build your package. ROS workspaces are generally portable, meaning that you can move the workspace to a different location and re-source the setup.sh and the binaries are still usable. Using absolute RPATHs will probably mean that your packages won't be able to do that.

Again, this is nothing to do with colcon, so this really isn't an appropriate form to troubleshoot your issue. Help requests like this for ROS packages should really be discussed on discourse.ros.org.

from colcon-core.

gorghino avatar gorghino commented on August 22, 2024

Thank you @cottsay for the explanation. I will try to better understand how to manage the RPATH with CMake.

from colcon-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.