On Thu, Nov 06, 2003 at 02:13:33PM -0800, Johnny C. Lam wrote:
> > It appears that $(INSTALLARCHLIB)/CORE is a mistake. INSTALLARCHLIB
> > is where the architecture specific libraries are going to be installed.
> > By default this is $(PERL_ARCHLIB) but it can be changed if the
> > user sets it explicitly or implicitly with something like PREFIX. This
> > means the files in CORE won't be found like the Perl headers and shared
> > libraries.
>
> >From the description above, I'm unclear as to the difference between
> INSTALLARCHLIB and PERL_ARCHLIB. The final place where libperl.so
> is installed should definitely be added to the rpath.
That would be PERL_ARCHLIB.
> I apologize if my understanding of INSTALLARCHLIB and PERL_ARCHLIB
> may be flawed, and would appreciate any enlightenment that you can
> offer.
>
> As I understand it, PERL_ARCHLIB is something that the user can modify
> in configuring Perl modules that use MakeMaker.pm. This allows
> installing the arch-dependent *.so files of the Perl module into a
> location outside of the normal Perl directory hierarchy if the user so
> chooses.
That's INSTALLARCHLIB.
> However, we still need to ensure that these *.so files have
> the directory containing libperl.so in their rpaths, which is why I
> think that INSTALLARCHLIB is the correct thing to add to the rpath.
That's PERL_ARCHLIB.
> There is also the extra complication that the *.so files for a single
> Perl module may be linked against each other, in which case it sounds
> like we should also add PERL_ARCHLIB to the rpath as well.
Err... you mean INSTALLARCHLIB.
Ok, I'll put them both in. Thanks for clearing things up.
> FYI, The code fragment you excerpted is largely a hack, since there's
> no actual guarantee that $Config{'lddlflags'} contains any rpath
> directives for the compiler/linker. This was simply the easiest way
> to "fix" a pervasive problem on NetBSD systems where Perl *.so files
> weren't properly linked against libperl.so, and where we (pkgsrc
> developers) could guarantee that lddlflags would contain at least
> one rpath directive appropriate for that NetBSD platform. If you're
> looking for a better way to redo this fix, I'm happy to help. I'm
> much more familiar with the MakeMaker.pm code and with Perl coding
> in general than I was when I originally offered this patch to Jarkko
> <[EMAIL PROTECTED]> for inclusion into Perl 5.6.1.
Well, I don't understand much about linkers or NetBSD so I won't be
much help. I was just trying to figure out what to do about this:
http://nntp.x.perl.org/group/perl.makemaker/1512
And it seems like that patch is the right thing to do.
--
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/
My breasts are arousing weapons.