ABI=x86 emerge shadow fails: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /lib64/libcrack.so when searching for /lib64/libcrack.so /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find /lib64/libcrack.so collect2: ld returned 1 exit status make[2]: *** [passwd] Error 1 make[2]: Leaving directory `/var/tmp/portage/shadow-4.0.7-r4/work/shadow-4.0.7/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/shadow-4.0.7-r4/work/shadow-4.0.7' make: *** [all] Error 2 !!! ERROR: sys-apps/shadow-4.0.7-r4 failed. !!! Function src_compile, Line 98, Exitcode 2 !!! compile problem
finally found out why this fails: when libtool is given a -l argument is tries to find a matching libtool archive by searching through various paths: for searchdir in '$newlib_search_path' '$lib_search_path' '$sys_lib_search_path' '$shlib_search_path' if $searchdir/lib$NAME.la can be found, it is sourced, resulting in: libdir=/usr/lib64 so that libtool will execute x86_64-pc-linux-gnu-gcc -O2 -pipe -Wl,-z -Wl,now -o passwd passwd.o ../libmisc/libmisc.a ../lib/.libs/libshadow.a -lcrypt -lpam -lpam_misc ${libdir}/libcrack.so conclusion: libtool is freakin' broken
*** Bug 124814 has been marked as a duplicate of this bug. ***
ugh, libtool maintainers are already aware of the multilib issues ... they cant really "solve" the problem because every distro so far has their own idea as to how "best" attack the multilib issue, and adding distro-specific cruft to libtool is wrong search the libtool mailing list and you'll find many discussions
LATER
however, libtool is parsing its arguments, and though finds all -lXXX arguments to process them. Now, why doesn't he do so with the -LXXX arguments? This way you'd be able to influence the library search path by e.g. passing -L/usr/lib32 to it - via $(LDFLAGS) in your Makefile[.am]
reopen to change resolution
1.5.23b fixes this. halleluja.