Pilot perl extension /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/PDA/Pilot/Pilot.so is not properly linked against /usr/lib64/libpisock.so Reproducible: Always Steps to Reproduce: 1. run `perl -MPDA::Pilot -e 1' Actual Results: Can't load '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/PDA/Pilot/Pilot.so' for module PDA::Pilot: /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/PDA/Pilot/Pilot.so: undefined symbol: DatebookRepeatTypeNames at /usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230. at -e line 0 Compilation failed in require. BEGIN failed--compilation aborted. Expected Results: No error. $ ldd /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/PDA/Pilot/Pilot.so linux-vdso.so.1 => (0x00007fff8c7e4000) libc.so.6 => /lib/libc.so.6 (0x00007fbc02a84000) /lib64/ld-linux-x86-64.so.2 (0x00007fbc03042000) libpisock.sa is missing. Running with LD_PRELOAD=/usr/lib64/libpisock.so helps.
Same behavior with 0.12.5. $ objdump -p /usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux/auto/PDA/Pilot/Pilot.so | grep NEEDED NEEDED libc.so.6 $ qfile -v Pilot.so app-pda/pilot-link-0.12.5 (/usr/lib64/perl5/vendor_perl/5.12.3/x86_64-linux/auto/PDA/Pilot/Pilot.so) @perl: Can we get some help with this please? The ebuild is using perl-module eclass for this, and likely perl build system familiar to you guys. I'm also still not convinced the linking is required... is it?
This is caused by the way we pass LDFLAGS in the eclass (#233354): | emake OTHERLDFLAGS="${LDFLAGS}" .... which then replaces pilot-links OTHERLDFLAGS in Makefile.PL: |'dynamic_lib'=> {'OTHERLDFLAGS' => $lib}, (where $libdir = "../../libpisock/.libs"; $lib = "-L$libdir -lpisock"; ) CRAP - bug 233354 : find better ways to set LDFLAGS - add mymake=( OTHERLDFLAGS="${LDFLAGS} -L../../libpisock/.libs -lpisock" ) before perl-module_src_compile or replace perl-module_src_compile with emake to work around the eclass
+ 09 Apr 2011; Samuli Suominen <ssuominen@gentoo.org> pilot-link-0.12.5.ebuild: + Link perl Pilot.so against -lpisock (workaround a bug in perl-module.eclass) + wrt #308629 by Torsten Veller and Łukasz Stelmach.