I need the perl-bindings for dev-perl/ossp-uuid but the documentation inside the ebuild suggests that the perl-bindings are broken, however I searched the web and changelogs etc. and could not find out what exactly the breakage is. So I patched the ebuild and Makefile.PL also needed a tweak and gave it a try and it all seems to work. It could be that the issue has been fixed upstream and not been re-visited in Gentoo, or it could be that the Makefile.PL was the only breakage all along, either way it probably warrants re-visiting. Patches attached. Thanks
Created attachment 258836 [details, diff] ebuild patch Patch against dev-libs/ossp-uuid-1.6.2.ebuild
Created attachment 258838 [details, diff] Perl MakeFile.PL patch Patches the Perl Makefile.PL to look for correct library name
Actually, when I say 'works' I mean builds, sorry :) I get undefined symbol errors when trying to use it and my C, Perl XS foo isn't up to figuring it out.
Created attachment 259132 [details, diff] Updated Perl Makefile.PL Based on Debian patch: http://patch-tracker.debian.org/patch/series/view/ossp-uuid/1.5.1-1.1/001-ossp-uuid_library_name.patch It actually seems to work now and the Perl tests all pass
Hi Scott, thanks for the patches! I'm having some problems getting them to work though, I'm afraid. It seems to get past the build step for the libraries, but then fails trying to build the Perl libraries: libtool: link: i686-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/crtbeginS.o .libs/uuid++.o .libs/uuid.o .libs/uuid_md5.o .libs/uuid_sha1.o .libs/uuid_prng.o .libs/uuid_mac.o .libs/uuid_time.o .libs/uuid_ui64.o .libs/uuid_ui128.o .libs/uuid_str.o -L/usr/lib/gcc/i686-pc-linux-gnu/4.4.5 -L/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../crtn.o -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,libossp-uuid++.so.16 -o .libs/libossp-uuid++.so.16.0.22 libtool: link: i686-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -o .libs/uuid uuid_cli.o ./.libs/libossp-uuid.so -lnsl libtool: link: (cd ".libs" && rm -f "libossp-uuid++.so.16" && ln -s "libossp-uuid++.so.16.0.22" "libossp-uuid++.so.16") libtool: link: (cd ".libs" && rm -f "libossp-uuid++.so" && ln -s "libossp-uuid++.so.16.0.22" "libossp-uuid++.so") libtool: link: i686-pc-linux-gnu-ar cru .libs/libossp-uuid++.a uuid++.o uuid.o uuid_md5.o uuid_sha1.o uuid_prng.o uuid_mac.o uuid_time.o uuid_ui64.o uuid_ui128.o uuid_str.o libtool: link: i686-pc-linux-gnu-ranlib .libs/libossp-uuid++.a libtool: link: ( cd ".libs" && rm -f "libossp-uuid++.la" && ln -s "../libossp-uuid++.la" "libossp-uuid++.la" ) Only one of PREFIX or INSTALL_BASE can be given. Not both. Checking if your kit is complete... Looks good make: *** [perl/blib/lib/OSSP/uuid.pm] Error 255 emake failed I'm really new to emerge, so perhaps I'm doing something wrong. I copied the dev-libs/ossp-uuid folder into /usr/local/portage as a portage overlay. I then patched the ebuild, and added your patch. Then I ran ebuild ossp-uuid-1.6.2.ebuild manifest followed by emerge -av dev-libs/ossp-uuid. Any idea?
Argh, this was my fault - sorry for the noise! I use local::lib to manage my Perl modules (a bit like GNU stow), and this works by exporting some environment variables, including PERL_MM_OPT. This conflicts with the ebuild (and any other Perl ebuild, so it's not specific to this). So, with this unset, the ebuild now builds correctly, and the Perl bindings function as expected. I can vouch for this patch, thanks Scott!
Created attachment 285433 [details, diff] ossp-uuid-1.6.2-perl_support.patch Updated the patch for the current ebuild version.
Finally in the tree as 1.6.2-r2. Thanks!
uaahaaa :) thx a lot, May the Force be with you