Package: mklibs Version: 0.1.24 tags: d-i Test runs using current daily builds for sparc and alpha are showing the following error: udevd: relocation error: udevd: symbol snprintf, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Turns out that on some arches, libc contains two versions of snprintf: $ readelf -a /lib/libc.so.6 | grep " sprintf@" 170: 0011cf60 48 FUNC GLOBAL DEFAULT 10 [EMAIL PROTECTED] 171: 00053df8 48 FUNC GLOBAL DEFAULT 10 sprintf@@GLIBC_2.4 And udev is still using the old one: $ readelf -a /sbin/udevd | grep " sprintf@" 110: 0002e600 48 FUNC GLOBAL DEFAULT UND [EMAIL PROTECTED] (2) However, after library stripping, only the new version is included: $ readelf -a tmp/sparc64_netboot-2.6/tree/lib/libc.so.6 | grep " sprintf@" 933: 0003627c 48 FUNC GLOBAL DEFAULT 10 sprintf@@GLIBC_2.4 It turns out that this can be resolved by including the version when calling gcc, i.e. using '[EMAIL PROTECTED] -usprintf@@GLIBC_2.4'. After manually stripping libc using that as parameters, I got: $ readelf -a libc.so.6-stripped | grep " sprintf@" 724: 0000d614 48 FUNC GLOBAL DEFAULT 10 [EMAIL PROTECTED] 725: 00019d94 48 FUNC GLOBAL DEFAULT 10 sprintf@@GLIBC_2.4 Note that binNMUs for udev have been scheduled to resolve this issue for affected architectures, but maybe a structural solution for this issue should be implemented in mklibs.
pgpdSLVaFoHEy.pgp
Description: PGP signature