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.

Reply via email to