gcc -shared -lssl -o pam_usb.so auth.o conf.o device.o dsa.o pam.o parser.o /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: auth.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC auth.o: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [pam_usb.so] Error 1 Reproducible: Always Steps to Reproduce: 1. cd /usr/portage/sys-libs/pam_usb 2. emerge pam_usb-0.2.2.ebuild 3. observe. Actual Results: compilation failure. Expected Results: compile and install pam_usb ebuild.
Ok, i preliminary fixed it. But i had to patch the makefile. Patch applies only on amd64 for the time being. CC'ing hhg: As -fPIC is recommened for all shared objects and as this ebuild supply only a shared object, should I apply it on all archs ?
I applied this patch on all archs now myself. Fixed.
I'm no longer the maintainer for pam_usb; scox has been maintaining it since he became a developer (understandably -- pam_usb being his project and all). Although it seems he didn't change metadata.xml. I'll send him a note about it.
Yeah, well done Danny. I'll make this patch upstream by the next release of pam_usb. Thanks to the reporter for reporting this bug.