Hardcoded absolute rpaths in the packaged output
Some libraries in the packaged output (*Plugin.so and some others) have sone uncessary rpaths embedded. Not that those cause immediate problems, their presence denotes that their is a need to rough some of the superbuild's edges, some linking mechanisms may be incorrectly patched.
It also somewhat unprofessional on a branding level and harms debugging visibility.
Here is a full list of the guilty libs:
File: lib/libApplicationUi.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
File: lib/libLidarPluginPythonD.so
0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/../lib:/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
File: lib/libLidarPlugin.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
File: lib/liblqApplicationComponents.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/usr/local/lib:/home/arnaud/lv/lv-build/install/lib]
File: lib/libPythonQtPlugin.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib:]
File: lib/libVelodynePluginPythonD.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
File: lib/libVelodynePlugin.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/usr/local/lib:/home/arnaud/lv/lv-build/install/lib]
File: lib/LidarPluginPython.so
0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/../lib:/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib/paraview-5.6/plugins/PythonQtPlugin:/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
File: lib/VelodynePluginPython.so
0x000000000000001d (RUNPATH) Library runpath: [/home/arnaud/lv/lv-build/lidarview-superbuild/common-superbuild/paraview/build/lib:/home/arnaud/lv/lv-build/install/lib:/usr/local/lib]
I already identified how $ORIGIN/../lib
is appended , the whole block related to RPATHS within LidarPlugin/CMakeLists.txt
is unnecessary.
The same kind of code is used in other places as a lazy way to get install dir's executable to work for dev purposes; those should be addressed properly to use the forward-executable(if applicable) or CMAKE_INSTALL_RPATH:
grep -nHIirF -- CMAKE_INSTALL_RPATH_USE_LINK_PATH (in directory: /home/arnaud/lv/lv-source/)
./LVCore/LidarPlugin/CMakeLists.txt:446:#SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
./LVCore/LidarSlamPlugin/LidarSlam/CMakeLists.txt:23:set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
./CMakeLists.txt:125:#SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)