Question / Help rpmlint reports E: hardcoded-library-path

martinkg

New Member
on fedora rpmlint reports the following error:

$ rpmlint SRPMS/obs-studio-0.12.4-0.1.fc22.src.rpm
obs-studio.src:56: E: hardcoded-library-path in %{buildroot}/usr/lib/libobs*.so*
obs-studio.src:79: E: hardcoded-library-path in %{_prefix}/lib/cmake/LibObs
obs-studio.src:84: E: hardcoded-library-path in %{_prefix}/lib/obs-plugins
1 packages and 0 specfiles checked; 3 errors, 0 warnings.

Could you please add LIB_SUFFIX cmake convention to support fedora/redhat-style multilib, instead of hard-coding path

"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libobs.so.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libobs.so"

"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libobs-opengl.so.0.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libobs-opengl.so.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libobs-opengl.so"


Long-term, probably ought to consider using something like
https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
instead
 

martinkg

New Member
the hardcoded-library-path lib must be replaced by lib${LIB_SUFFIX}
e.q.

"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libobs.so.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libobs.so"

"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libobs-opengl.so.0.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libobs-opengl.so.0"
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libobs-opengl.so"
 
Top