The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Udisks isn't building
This is an issue that Azerthoth ran into. He was trying to build udisks and was running into a linking issue:
CC udisks_probe_sas_expander-udisks-probe-sas-expander.o CCLD udisks-probe-sas-expander CC udisks_lvm_pv_export-udisks-lvm-pv-export.o CCLD udisks-lvm-pv-export /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/../../../../lib64/liblvm2app.so: undefined reference to `floor' collect2: ld returned 1 exit status make[4]: *** [udisks-lvm-pv-export] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
The line that looked funny was /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/../../../../lib64/liblvm2app.so: undefined reference to `floor'
. That would indicate that liblvm2app.so
was linking to the floor
function but that function at the time of linking udisks-lvm-pv-export
was undefined. The floor
function is defined in glibc
within libm
. Consequently, we compared the floor
linkage in our libm
s:
gurganbldesktop brantgurga # readelf -s /lib64/libm-2.11.2.so | grep floor 200: 000000000002e3b0 156 FUNC WEAK DEFAULT 12 floorf@@GLIBC_2.2.5 204: 0000000000036f10 39 FUNC WEAK DEFAULT 12 floorl@@GLIBC_2.2.5 297: 0000000000018da0 392 FUNC WEAK DEFAULT 12 floor@@GLIBC_2.2.5 Beast enUS # readelf -s /lib64/libm-2.10.1.so | grep floor 200: 000000000002e910 171 FUNC WEAK DEFAULT 12 floorf@@GLIBC_2.2.5 204: 00000000000375d0 39 FUNC WEAK DEFAULT 12 floorl@@GLIBC_2.2.5 297: 0000000000018da0 392 FUNC WEAK DEFAULT 12 floor@@GLIBC_2.2.5
The floor
linkage was the same. So maybe there was an issue with the liblvm2app.so linkage:
gurganbldesktop brantgurga # readelf -s /lib64/liblvm2app.so.2.2 | grep floor 220: 0000000000000000 0 FUNC GLOBAL DEFAULT UND floor@GLIBC_2.2.5 (11) Beast enUS # readelf -s /lib64/liblvm2app.so.2.2 | grep floor 19: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND floor
This seemed to be the issue. For some reason, the floor
function wasn't getting linked in lvm2-2.02.70
. Why that was the case was never found, but lvm2-2.02.68
and lvm2-2.02.75
was tried and the linkage worked fine for both. Case closed.