Bugzilla – Bug 141161
sysfsutils package misses /lib/libsysfs.la
Last modified: 2006-01-12 16:10:01 UTC
In the current sysfsutils package, /lib/libsysfs.la is missing. /usr/lib/libsysfs.la states: # Directory that this library needs to be installed in: libdir='/lib' This causes other packages, e.g. cpufrequtils to assume that it must be below /lib. When trying to link against cpufrequtils, it looks for /lib/libsysfs.la and fails because of a wrong entry in /usr/lib/libcpufreq.la. It is really confusing and weird, but I think it has something to do with the manual moving of shared libraries within the specfile of sysfsutils.
We cannot go on with our powersave development until this is fixed. Raising severity. I just hope that my assumption that the problem lies within sysfsutils is correct ;-)
I investigated further. /lib/libsysfs.la is moved manually to /usr/lib/ because our buildsystem refuses to install *.la files in /lib. But the path in libsysfs.la (libdir='/lib', comment #1) still points to /lib. So it seems that we have two possibilities: 1. Adjust the path inside libsysfs.la to point to /usr/lib: sed -e "s:libdir='/%{_lib}':libdir='%{_libdir}':" -i %{buildroot}/%{_libdir}/libsysfs.la Already tested to link agains libcpufreq and things seem to works. Hopefully it won't break other packages. 2. Don't even install shared libraries in /lib. Instead use /usr/lib (--libdir=%{_libdir} instead of --libdir=%{_lib)) This would be the cleaner solution IMO, but I don't know what were the reasons for sysfsutils to install its libraries below /lib. I can submit new packages if you like. I just need to know which solution is preferred ;-)
I chose option 1 and submitted a new package.