Re: LD_RUN_PATH required? SUNWspro/GCC ld differences?
[email protected] Fri, 6 Jun 2003 19:54:01 GMT
| Newsgroups | perl.64bit,perl.64bit |
|---|---|
| Message-ID | <[email protected]> |
Thanks for the comments. Good reading. Haven't tested anything yet.
> > LD_LIBRARY_PATH does NOT contain the libaceclnt.so (third party .so lib).
> > LD_RUN_PATH is empty.
>
> Where exactly is libaceclnt.so on the two machines? I'd guess
> /usr/local/lib...
They're over in PREFIX/../acelib/. i.e. parallel to custom Perl libs.
> There are *significant* differences between the two versions - one is built
> with shrplib, one without, and the libpths are different - specifically the
> working one includes /usr/local/lib, and the broken one doesn't.
I don't think that matters. These libs aren't in /usr/local/lib.
> He can verify this by using 'ldd' and 'dump -Lv' on the various perl,
> libperl.so and module .so files and looking at the dependencies. Another
> trick is to do 'LD_DEBUG=libs perl sometestscript' which will display the
> library search processing.
Very interesting... Will investigate and report back.
> > As for a fix, he can hack the module Makefile.PL - I'm not sure which would
> work best, adding -R<library path> to LIBS, or using
> dynamic_lib => { OTHERLDFLAGS => '-R<library path>' }
> Whatever, he should use 'dump -Lv' on the resulting .so and check that
> libaceclnt.so appears in the NEEDED section, and the directory it is in
> appears in RUNPATH/RPATH.
More good stuff. I think, if I understand you correctly, the problem is the
Makefile.PL was hardcoded with "-L" and not "-R", so it breaks on the 64bit
box built with Sun's compiler, but works fine on pretty much any gcc-built
system. I'm thinking along the lines of patching the Makefile.PL to do the
right thing a la some suncc-specific hinting.
BTW, the module in question is the CPAN module Authen::ACE4. The Makefile.PL
is a bit different from your standard MakeMaker fare, but it's not that
complicated.
Please thank your "guru".
Mike
---------------------------------------------
http://www.valuenet.net