Not all libraries are sourced, ROS2 Foxy for Debian Buster [closed]
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.
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 theCMakeLists
to get the shared libraries inlib
itself. Closed for now.