Re: [Module-build-general] Module::Build 0.18 @INC problem
Status: Beta
Brought to you by:
kwilliams
|
From: Teun B. <bu...@ec...> - 2003-04-16 08:08:35
|
Hello Ken,
Ken Williams wrote:
> If you manually change line 1030 in Base.pm from
>
> $self->run_perl_script('Build.PL') or die "Error executing 'Build.PL'
> in dist directory: $!";
>
> to something like
>
> $self->run_perl_script('Build.PL',
> ['-I/export/home/snuf3/aburgers/alpha/lib/perl5'])
> or die "Error executing 'Build.PL' in dist directory: $!";
>
> does it start working?
No...
see the attached p.txt for a diff -u patch for Base.pm against the snapshot.
I printed @INC just before the run_perl_script. At this point it still
contains /home/snuf3/aburgers/alpha/lib/perl5
Here is the result of the print STDERR "->@INC<-":
->/export/home3/aburgers/.cpan/build/Module-Build-0.18-snap-patch/blib/lib
blib/lib
blib/arch
lib
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0/alpha-dec_osf /home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.1/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.1
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0/alpha-dec_osf /home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0 /home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.1
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl
.
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.1
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl
.<-
This is the @INC when B::Module::Info.pm can't be found:
Can't locate B/Module/Info.pm in @INC (@INC contains:
/export/home3/aburgers/.cpan/build/Module-Build-0.18-snap-patch/blib/lib
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0/alpha-dec_osf
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.8.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.1
/home/snuf3/aburgers/alpha/lib/perl5/site_perl/5.6.0
/home/snuf3/aburgers/alpha/lib/perl5/site_perl
Look like everything up to and including the first "." directory is stripped from @INC
somewhere in run_perl_script.
> I guess I should look at MakeMaker to see whether it handles this case
> either. My guess is that it doesn't - if you set @INC directories via
> -I or some other method-of-limited-scope when you run 'perl
> Makefile.PL',
This is how I invoked Makefile.PL:
perl -d Makefile.PL INSTALLARCHLIB=/home/snuf3/aburgers/alpha/lib/perl5 INSTALLPRIVLIB=/home/snuf3/aburgers/alpha/lib/perl5 INSTALLBIN=/home/snuf3/aburgers/alpha/bin
INSTALLSCRIPT=/home/snuf3/aburgers/alpha/bin INSTALLSITELIB=/home/snuf3/aburgers/alpha/lib/perl5 INSTALLMAN1DIR=/home/snuf3/aburgers/alpha/man/man1 INSTALLMAN3DIR=/home/snuf3/aburgers/alpha/man/man3
INSTALLSITEARCH=/home/snuf3/aburgers/alpha/lib/perl5 INSTALLSITELIB=/home/snuf3/aburgers/alpha/lib/perl5
> then you may get errors later in the process when @INC isn't propagated.
I've never run into problems with @INC using this approach.
Teun
--
Drs A.R. Burgers Energy research Centre of the Netherlands
Phone: +31-224-564959 P.O. Box 1
Fax : +31-224-568214 NL-1755 ZG Petten
email: bu...@ec... The Netherlands |