[Module::Build] Re: [PATCH] add Module::Build 0.27_08
Status: Beta
Brought to you by:
kwilliams
|
From: Dominic D. <sho...@ma...> - 2006-03-07 16:37:24
|
Before I reply, another data point:
$ echo $PWD
/Users/domo/src/Perl/perl-current-working/t
$ /bin/pwd
/Volumes/Tottie/Other/src/Perl/perl-current-working/t
That is, there's a symlink in the path to my build directory. No idea =20=
whether this is relevant.
On 2006=9603=9607, at 16:24, Yitzchak Scott-Thoennes wrote:
> On Tue, Mar 07, 2006 at 06:38:13AM -0500, Randy W. Sims wrote:
>>
>> Looks like the problem happens here:
...
>> foreach my $perl ( $c->{perlpath},
>> map File::Spec->catfile($_, $thisperl),
>> File::Spec->path()
>> ) {
>> return $perl if -f $perl and $proto->_perl_is_same($perl);
>> }
>>
>> Where we try to find the interpreter. It's falling all the way =20
>> through
>> and returning undef. Any idea where we're missing it here?
>
> It should be finding it in $c->{perlpath}. Dominic, can you add a
>
> warn "checking in $_, \$^X is $^X, perl is $perl, -f \$perl is ", =20=
> -f $perl;
^^
Um, the $_ that is the topic of the map() is out of scope at the top =20
of the loop, and there doesn't seem to be another relevant one in =20
scope. But, because I can't suggest anything better...
>
> at the beginning of the loop and a
>
> warn "not found"
>
> at the end?
With your additions as suggested, I get
$ ./TEST ../lib/Module/Build/t/basic.t
t/../lib/Module/Build/t/basic....Warning: Removing existing directory =20=
'/Volumes/Tottie/Other/src/Perl/perl-current-working/t/_tmp/Simple'
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value in warn at /Volumes/Tottie/Other/src/Perl/=20
perl-current-working/t/../lib/Module/Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /usr/local/bin/perl5.9.4, -f =20
$perl is at /Volumes/Tottie/Other/src/Perl/perl-current-working/t/../=20=
lib/Module/Build/Base.pm line 340.
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value in warn at /Volumes/Tottie/Other/src/Perl/=20
perl-current-working/t/../lib/Module/Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /Users/domo/bin/perl, -f $perl =20
is at /Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/=20
Module/Build/Base.pm line 340.
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value in warn at /Volumes/Tottie/Other/src/Perl/=20
perl-current-working/t/../lib/Module/Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /usr/local/bin/perl, -f $perl =20
is at /Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/=20
Module/Build/Base.pm line 340.
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value in warn at /Volumes/Tottie/Other/src/Perl/=20
perl-current-working/t/../lib/Module/Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /bin/perl, -f $perl is at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value in warn at /Volumes/Tottie/Other/src/Perl/=20
perl-current-working/t/../lib/Module/Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /sbin/perl, -f $perl is at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Use of uninitialized value $_ in concatenation (.) or string at /=20
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
checking in , $^X is ./perl, perl is /usr/bin/perl, -f $perl is 1 at /=20=
Volumes/Tottie/Other/src/Perl/perl-current-working/t/../lib/Module/=20
Build/Base.pm line 340.
Perl lib version (5.9.4) doesn't match executable version (v5.8.6) =20
at /Volumes/Tottie/Other/src/Perl/perl-current-working/lib/Config.pm =20
line 46.
Compilation failed in require.
BEGIN failed--compilation aborted.
...
I can't immediately see wtf is happening (or failing to happen).
>
> On darwin, is $^X just the filename, or is it a relative path?
Seems to be what's in argv[0]:
$ perl -lwe 'print $^X'
perl
$ /usr/bin/perl -lwe 'print $^X'
/usr/bin/perl
$ ../../../../../usr/bin/perl -lwe 'print $^X'
../../../../../usr/bin/perl
That's with the system's perl-5.8.6, but blead's the same.
Another data point:
$ echo $PWD
/Users/domo/src/Perl/perl-current-working/t
$ /bin/pwd
/Volumes/Tottie/Other/src/Perl/perl-current-working/t
That is, there's a symlink in the path to my build directory
--=20
Dominic Dunlop
|