Greetings, I mentioned a bug with path names and an installed perl in the archives at: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-09/msg00586.html The enclosed patch seems to fix the problem on x86 linux 2.4.18-14smp. It also incorporates several of Michael Schwern's recent excellent suggestions to better address the unique needs of the usevmsdebug build on VMS and removes the 'ndbgperl' hardcoded hack. Unfortunately I could not remove the $nbdg variable hack - which must remain there so as to pass these tests that would otherwise fail: lib/ExtUtils/t/basic.................FAILED at test 22 lib/ExtUtils/t/Constant..............FAILED at test 5 Failed 2 test scripts out of 728, 99.73% okay. In sum this patch has been tested with: x86 linux 2.4.18-14smp: sh Configure -Dprefix=/home/pprymmer/my/miniperl -des build of Text-CSV_XS 0.23 with installed /home/pprymmer/my/miniperl/bin/perl seems to test OK. Alpha VMS 7.3-1: @configure "-Dusevmsdebug" "-des" build of XS and non XS CPAN modules with installed perl seems OK Alpha VMS 7.3-1 @configue "-des" A comparison of the PERL_ROOTs in the last two installations shows that NDGPERLSHR.EXE is the only extra file in the former (1631 files and dirs, versus 1630 files and dirs in the latter). --- perl_built/lib/ExtUtils/MM_Unix.pm 2003-09-09 10:10:23.000000000 -0400 +++ perl/lib/ExtUtils/MM_Unix.pm 2003-09-09 11:33:00.000000000 -0400 @@ -2321,7 +2321,10 @@ # Build up a set of file names (not command names). my $thisperl = $self->canonpath($^X); - $thisperl .= $Config{exe_ext} unless $thisperl =~ m/$Config{exe_ext}$/i; + $thisperl .= $Config{exe_ext} unless + # VMS might have a file version # at the end + $Is_VMS ? $thisperl =~ m/$Config{exe_ext}(;\d+)?$/i + : $thisperl =~ m/$Config{exe_ext}$/i; # We need a relative path to perl when in the core. $thisperl = $self->abs2rel($thisperl) if $self->{PERL_CORE}; @@ -2331,7 +2334,6 @@ if ( $Is_VMS ) { if ( defined( $Config{usevmsdebug} ) ) { if ( $Config{usevmsdebug} eq 'define' ) { - push @perls, map { "$_$Config{exe_ext}" } ('ndbgperl'); $ndbg = 'ndbg'; } } @@ -2355,8 +2357,13 @@ # supply switches with perl # Define 'FULLPERL' to be a non-miniperl (used in test: target) - ($self->{FULLPERL} = $self->{PERL}) =~ s/miniperl/${ndbg}perl/i - unless $self->{FULLPERL}; + if( $self->{PERL_CORE} ) { + ($self->{FULLPERL} = $self->{PERL}) =~ s/miniperl/${ndbg}perl/i + unless $self->{FULLPERL}; + } + else { + ($self->{FULLPERL} = $self->{PERL}) unless $self->{FULLPERL}; + } # Little hack to get around VMS's find_perl putting "MCR" in front # sometimes. And as an attachment: (See attached file: perl_core.patch) The above patch affects all MakeMaker platforms as far as I know. It would be nice to test far and wide. I only have access to a limited number of test platforms. Thanks. Peter PrymmerThread Previous | Thread Next