Not all libraries are sourced, ROS2 Foxy for Debian Buster [closed]

asked 2021-11-12 02:26:37 -0500

xander-m2k gravatar image

updated 2021-11-12 02:27:11 -0500

So I built ROS2 from source to my own binaries for Debian Buster, but not all the shared libraries are sourced. I'd like to talk about one folder in special, namely the /opt/ros/foxy/lib/x86_64-linux-gnu folder. This folder is not getting sourced, but is needed to build and use some libraries.

Some libraries like, console_bridge_vendor and urdfdom and urdfdom_header and dds_security install it in this folder, but I do not notice anything strange in their CMakeLists.txt files, why are they not being installed in just the lib folder?

So the simple workaround is to add the source path manually to your environment table, but that is not the ideal solution ofcourse. This is done by executing LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/foxy/lib/x86_64-linux-gnu.

Can anybody explain why the shared libraries are being installed in x86_64-linux-gnu? I am seeking to solve this problem.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by xander-m2k
close date 2021-11-12 07:38:57.900149

Comments

I discovered that x86_64-linux-gnu is also known as the 'multi-arch' folder. As far as I can find, if you want it in another place, you have to hardcode the CMakeLists to get the shared libraries in lib itself. Closed for now.

xander-m2k gravatar image xander-m2k  ( 2021-11-12 07:38:21 -0500 )edit