On Tue, Feb 28, 2012 at 10:32:44AM +0100, Nick Wellnhofer wrote:
> The only problem I can see with Perl is the fact that there are
> different install paths as you pointed out above. Let's say we have a
> distro that ships with Lucy in installvendorarch. If someone wants to
> install an extension with its own header files locally, then the
> extension would be installed in installsitearch while the header files
> would have to go to installvendorarch. This breaks the concept of
> separating vendor and site installations and might cause problems with
> certain setups.
Nice analysis!
> Maybe we should always look in the following two directories:
>
> catdir( $installvendorarch, 'Clownfish', '_include' )
> catdir( $installsitearch, 'Clownfish', '_include' )
+1
So then the only question is which should come first. I think it ought to be
"site" before "vendor" -- as recent versions of Perl have switched the default
order of @INC to prefer "site":
marvin@smokey:~ $ ~/opt/perl583/bin/perl5.8.3 -V
[...]
@INC:
/Users/marvin/opt/perl583/lib/5.8.3/darwin-2level
/Users/marvin/opt/perl583/lib/5.8.3
/Users/marvin/opt/perl583/lib/site_perl/5.8.3/darwin-2level
/Users/marvin/opt/perl583/lib/site_perl/5.8.3
/Users/marvin/opt/perl583/lib/site_perl
.
marvin@smokey:~ $ ~/opt/perl5141/bin/perl5.14.1 -V
[...]
@INC:
/Users/marvin/opt/perl5141/lib/site_perl/5.14.1/darwin-2level
/Users/marvin/opt/perl5141/lib/site_perl/5.14.1
/Users/marvin/opt/perl5141/lib/5.14.1/darwin-2level
/Users/marvin/opt/perl5141/lib/5.14.1
.
Background:
http://markmail.org/message/bxrxvkqewhdnhuts
PS: For ActivePerl we recently inverted the ordering in @INC to site_lib,
vendor_lib, and lib. Installing new versions of core modules into site_lib
makes it much easier to revert to the original version. :)
Marvin Humphrey