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!