On Thursday 10 November 2005 18:09, David M. Strang wrote:
gcc -shared -L/usr/lib32 -o pam_access.so dynamic/pam_access.o -lnsl -lc -L../pammodutil -lpammodutil -L../../libpam -lpam /usr/bin/ld: skipping incompatible /usr/lib32/libnsl.so when searching for -lnsl /usr/bin/ld: skipping incompatible /usr/lib32/libnsl.a when searching for -lnsl /usr/bin/ld: skipping incompatible /usr/lib32/libc.so when searching for
Oh oh, you have to check the Makefile. It is using a separate step to link all object files together into one shared library file. Unfortunately it forgot to add GCC's '-m32' command line option. :-( (Remember -m32 = 32bit output, -m64 = 64bit output; standard/if nothing specified => -m64) Your CFLAGS are okay but they are not applied here. Try it again with the 'CC' special variable set: [..] export CC="gcc -m32" ./configure .. bla bla make .. bla bla [..]
/usr/bin/ld: skipping incompatible /usr/lib32/libc.so when searching for -lc /usr/bin/ld: skipping incompatible /usr/lib32/libc.a when searching for -lc /usr/bin/ld: skipping incompatible /usr/lib32/libdl.so when searching -lc /usr/bin/ld: warning: i386 architecture of input file `dynamic/pam_item.o' is incompatible with i386:x86-64 output /usr/bin/ld: warning: i386 architecture of input file `dynamic/pam_strerror.o' is incompatible with i386:x86-64 output
These are the typical error/warning messages you get when you try to link both, 32bit and 64bit object files together. You cannot mix 32bit and 64bit object files. bye, danm -- Daniel Mueller Berlin, Germany OpenPGP: 1024D/E4F4383A