i thik this is a binutils problem ... but just in case .. gcc -shared -Xlinker -x -o pam_debug.so dynamic/pam_debug.o -lc -L../pammodutil -lpammodutil /usr/bin/ld: dynamic/pam_debug.o: gp-relative relocation against dynamic symbol _pam_token_returns /usr/bin/ld: dynamic/pam_debug.o: gp-relative relocation against dynamic symbol _pam_token_returns collect2: ld returned 1 exit status make[2]: *** [pam_debug.so] Error 1 linux 2.4.18 alpha ev56 gcc 3.1 glibc 2.2.5 binutils 2.12.1