Re: [Module-build-general] Module::Build 0.18 @INC problem
Status: Beta
Brought to you by:
kwilliams
|
From: Ken W. <ke...@ma...> - 2003-04-15 14:48:25
|
Hi Teun,
Okay, I know I said this last time too, but I think I know what's
causing this. The ACTION_disttest() routine runs a 'perl Build.PL' in
an external process, which resets @INC.
I guess a solution for this would be to add a bunch of -Ifoo/ arguments
to the command. Preferably we would only add the directories that are
necessary, but I'm not exactly sure how we can tell the difference at
that point.
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?
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', then you may get errors later in the process when @INC
isn't propagated.
-Ken
> From: Teun Burgers <bu...@ec...>
> Date: Tue Apr 15, 2003 8:27:26 AM US/Central
> To: Ken Williams <ke...@ma...>
> Subject: Re: [Module-build-general] Module::Build 0.18 @INC problem
>
> Ken Williams wrote:
>>
>> On Tuesday, April 15, 2003, at 02:49 AM, Teun Burgers wrote:
>>
>>> Ken Williams wrote:
>>>
>>>> It would be helpful if you could try the current CVS code and verify
>>>> that it works.
>>>
>>> my company's firewall does not allow CVS access.
>>> Can you mail me a snapshot?
>>
>> Ok, you can download a snapshot at
>>
>> http://www.campstaff.com/~ken/Module-Build-snap.tar.gz
>
> Thanks for the snapshot.
>
> I tried your snapshot and it has the same problem unfortunately.
> The /export/home/snuf3/aburgers/alpha/lib/perl5 is present in @INC in
> Build,
> but not during testing (see tst.log).
>
> These are the timestamps of the .pm files:
>
> ls -l `find lib/Module -name '*.pm'`
> -rw-r----- 1 aburgers DE_zon 39772 Apr 12 05:30
> lib/Module/Build.pm
> -rw-r----- 1 aburgers DE_zon 38133 Apr 14 17:30
> lib/Module/Build/Base.pm
> -rw-r----- 1 aburgers DE_zon 6342 Mar 29 21:23
> lib/Module/Build/Compat.pm
> -rw-r----- 1 aburgers DE_zon 497 Nov 11 2001
> lib/Module/Build/Platform/Amiga.pm
> -rw-r----- 1 aburgers DE_zon 499 Aug 6 2001
> lib/Module/Build/Platform/Default.pm
> -rw-r----- 1 aburgers DE_zon 500 Nov 11 2001
> lib/Module/Build/Platform/EBCDIC.pm
> -rw-r----- 1 aburgers DE_zon 497 Nov 11 2001
> lib/Module/Build/Platform/MPEiX.pm
> -rw-r----- 1 aburgers DE_zon 3430 Dec 1 10:12
> lib/Module/Build/Platform/MacOS.pm
> -rw-r----- 1 aburgers DE_zon 500 Nov 11 2001
> lib/Module/Build/Platform/RiscOS.pm
> -rw-r----- 1 aburgers DE_zon 789 Jun 9 2002
> lib/Module/Build/Platform/Unix.pm
> -rw-r----- 1 aburgers DE_zon 1277 Mar 31 04:17
> lib/Module/Build/Platform/VMS.pm
> -rw-r----- 1 aburgers DE_zon 491 Nov 11 2001
> lib/Module/Build/Platform/VOS.pm
> -rw-r----- 1 aburgers DE_zon 18695 Mar 11 17:19
> lib/Module/Build/Platform/Windows.pm
> -rw-r----- 1 aburgers DE_zon 1030 Mar 8 2002
> lib/Module/Build/Platform/darwin.pm
>
>
> 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#!/home/snuf3/aburgers/alpha/bin/perl
>
> BEGIN {
> $^W = 1; # Use warnings
> my $start_dir =
> '/export/home3/aburgers/.cpan/build/Module-Build-0.18-snap';
> chdir($start_dir) or die "Cannot chdir to $start_dir: $!";
> @INC = ('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',
> '/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', '.');
> }
>
> use Module::Build;
>
> # This should have just enough arguments to be able to bootstrap the
> rest.
> my $build = resume Module::Build (
> properties => {
> config_dir => '_build',
> build_script => 'Build',
> },
> );
>
> $build->dispatch;
> perl ./Build test
> t/basic.........ok
> t/runthrough....B::Module::Info,packages use failed with 2 saying:
> Can't locate B/Module/Info.pm in @INC (@INC contains:
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/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 .) at (eval 1) line 18.
>
> BEGIN failed--compilation aborted at (eval 1) line 18.
>
> BEGIN failed--compilation aborted.
> Can't locate Data/Dumper.pm in @INC (@INC contains:
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/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 .) at
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/blib/lib/
> Module/Build/Base.pm line 14.
> BEGIN failed--compilation aborted at
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/blib/lib/
> Module/Build/Base.pm line 14.
> Compilation failed in require at
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/blib/lib/
> Module/Build/Platform/Unix.pm line 4.
> BEGIN failed--compilation aborted at
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/blib/lib/
> Module/Build/Platform/Unix.pm line 4.
> Compilation failed in require at (eval 1) line 2.
> BEGIN failed--compilation aborted at (eval 1) line 2.
> Compilation failed in require at Build.PL line 1.
> BEGIN failed--compilation aborted at Build.PL line 1.
> # Test 5 got: 'Error executing 'Build.PL' in dist directory: No such
> file or directory at blib/lib/Module/Build/Base.pm line 1026.
> ' (t/runthrough.t at line 44)
> # Expected: ''
> # Failed test 6 in t/runthrough.t at line 47
> B::Module::Info,packages use failed with 2 saying:
> Can't locate B/Module/Info.pm in @INC (@INC contains:
> /export/home3/aburgers/.cpan/build/Module-Build-0.18-snap/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 .) at (eval 1) line 18.
>
> BEGIN failed--compilation aborted at (eval 1) line 18.
>
> BEGIN failed--compilation aborted.
> # Failed test 11 in t/runthrough.t at line 84
> FAILED tests 5-6, 11
> Failed 3/13 tests, 76.92% okay
> t/xs............ld:
> Warning: Unresolved:
> Perl_croak
> Perl_mg_set
> Perl_newXS
> Perl_sv_2iv
> Perl_sv_newmortal
> Perl_sv_setiv
> PL_sv_yes
> PL_stack_sp
> PL_op
> PL_curpad
> PL_stack_base
> PL_markstack_ptr
> __exc_add_pc_range_table
> __exc_add_gp_range
> __exc_remove_pc_range_table
> __exc_remove_gp_range
> ok
> Failed 1/3 test scripts, 66.67% okay. 3/35 subtests failed, 91.43%
> okay.
> Failed Test Stat Wstat Total Fail Failed List of Failed
> -----------------------------------------------------------------------
> --------
> t/runthrough.t 13 3 23.08% 5-6 11
> make: *** [test] Error 25
>
|