Thanks Michael,

When i run "perl -MConfig -wle 'print $Config{installsitelib}'" in the
machine having 5.8.6 and 5.6.1, I get the same result. See below.

[EMAIL PROTECTED]:/u/janarthp> perl -v

This is perl, v5.8.6 built for sun4-solaris

Copyright 1987-2004, Larry Wall

Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to
the
Internet, point your browser at http://www.perl.org/, the Perl Home
Page.

[EMAIL PROTECTED]:/u/janarthp> perl -MConfig -wle 'print
$Config{installsitelib}'
/usr/local/lib/perl5/site_perl/5.8.6
[EMAIL PROTECTED]:/u/janarthp> exit
logout
Connection closed.
13:10:[EMAIL PROTECTED]:/prod/gbo/app/tax/lib/perl5/site_perl$ perl -v

This is perl, v5.6.1 built for sun4-solaris

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to
the
Internet, point your browser at http://www.perl.com/, the Perl Home
Page.

13:10:[EMAIL PROTECTED]:/prod/gbo/app/tax/lib/perl5/site_perl$ perl
-MConfig -wle 'print $Config{installsitelib}'
/usr/local/lib/perl5/site_perl/5.6.1

However the config.pm has the below entries in 5.8.6 wherein you can see
the difference compared to 5.6.1
[5.8.6]

installbin='/usr/local/perl-5.8.6/bin'
installhtml1dir=''
installhtml3dir=''
installman1dir='/usr/local/perl-5.8.6/man/man1'
installman3dir='/usr/local/perl-5.8.6/man/man3'
installprefix='/usr/local/perl-5.8.6'
installprefixexp='/usr/local/perl-5.8.6'
installscript='/usr/local/perl-5.8.6/bin'
installsitearch='/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris'
installsitebin='/usr/local/perl-5.8.6/bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='/usr/local/lib/perl5/site_perl/5.8.6'
installsiteman1dir='/usr/local/perl-5.8.6/man/man1'
installsiteman3dir='/usr/local/perl-5.8.6/man/man3'
installsitescript='/usr/local/perl-5.8.6/bin'

[5.6.1]
installbin='/usr/local/bin'
installman1dir='/usr/local/lib/perl5/5.6.1/man/man1'
installman3dir='/usr/local/lib/perl5/5.6.1/man/man3'
installprefix='/usr/local'
installprefixexp='/usr/local'
installscript='/usr/local/bin'
installsitearch='/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris'
installsitebin='/usr/local/bin'
installsitelib='/usr/local/lib/perl5/site_perl/5.6.1'
installstyle='lib/perl5'
installusrbinperl='undef'
installvendorarch='/prod/tools/packages/lib/perl5/5.6.1/sun4-solaris'
installvendorbin='/prod/tools/packages/lib/perl5/bin'
installvendorlib='/prod/tools/packages/lib/perl5/5.6.1'

Does the above differences, Tells something.  Specifically, in 5.8.6,
installsitelib is having a different root compared its installbin etc..


Please advice.

--Prassana

-----Original Message-----
From: Michael G Schwern [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 17, 2005 10:24 PM
To: Janarthanan, Prassana
Cc: makemaker@perl.org
Subject: Re: MakeMaker Problem.


On Tue, Aug 16, 2005 at 03:00:54PM +0530, Janarthanan, Prassana wrote:
> Now, We have a Makefile.PL script to generate the Makefile
> for our custom installation.
>  
> $ /usr/local/bin/perl Makefile.PL PREFIX=/u/blah/
>  
> When the above command is run in the machine having 6.01v
> generates a different output compared to that of 6.28v
>  
> To be Specific, my problem is with the INSTALLSITELIB.
>  
> with v6.01 which is under 5.6.1v of perl:
> INTALLSITELIB = /u/blah/lib/perl5/site_perl/5.6.1
>  
> but, with 6.28v and 5.8.6v of perl
> INTALLSITELIB = /u/blah/lib/perl5/site_perl
>  
> Here it is clearly a difference. I expected it to
> INTALLSITELIB=/u/blah/lib/perl5/site_perl/5.8.6
>  
> Is this a standard behavior that recent versions of 
> MakeMaker is supporting or is there any bug?

MakeMaker's PREFIX option bases its installation directories on your
system
Config.pm.  INSTALLSITELIB is based on $Config{installsitelib}.  The
value
of this is specific to each installation of perl and is determined by
who
compiled and installed perl.  Here's some examples from my machine.

$ perl -MConfig -wle 'print $Config{installsitelib}'
/sw/lib/perl5/site_perl/5.8.6 
$ perl5.8.1 -MConfig -wle 'print $Config{installsitelib}'
/Library/Perl/5.8.1
$ activeperl5.6.1 -MConfig -wle 'print $Config{installsitelib}'
/usr/local/perl/ActivePerl-638/lib/site_perl/5.6.1 

Presumably $Config{installsitelib} for your 5.6.1 is 
/usr/local/lib/perl5/site_perl/5.6.1 and for your 5.8.6 is
/usr/local/lib/perl5/site_perl/.  If this is so, MakeMaker is acting 
as expected.  If not then you've found a bug in MakeMaker.  Please check

and let us know.


> $ /usr/local/bin/perl Makefile.PL PREFIX=/u/blah/ \
>           LIB=/u/blah/lib/perl5/site_perl/5.8.6
>  
> Is there any other way? or should I live without 5.8.6
> directory under site_perl?

There is one other way.  There's a new option, INSTALL_BASE, just added
but
not yet documented.  This mirrors Module::Build's --install_base
providing
you with a fixed installation location not based on %Config meaning the
location your modules get installed into doesn't jump around from perl
to
perl.

Its not yet official because of some outstanding coordination problems
with
Module::Build (we're waiting for 0.28 which fixes this) but its not
planned
to change.

You can read more about why PREFIX will never work and about
INSTALL_BASE 
here:
http://www.pobox.com/~schwern/talks/PREFIX/


-- 
Michael G Schwern     [EMAIL PROTECTED]
http://www.pobox.com/~schwern
Ahh email, my old friend.  Do you know that revenge is a dish that is
best 
served cold?  And it is very cold on the Internet!

Reply via email to