Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 19843
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: michael_bell [...] medco.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.2801
Fixed in: (no value)



Subject: Can't find Perl under VMS
This is perl, v5.6.1 built for VMS_AXP. OpenVMS V7.3 I added print stmts to BASE.PM to show what code is doing on VMS. There are 2 problems: 1. On VMS, you usually run PERL as a SYMBOL since the VMS "RUN PERL.EXE" doesn't allow command line parameters :(. Oftem something like this: sho symbol perl PERL == "$PERL_ROOT:[000000]PERL.EXE" Attempting to run "$4$dua30:[perl.perl-5_6_1.][000000]perl.exe;1" always fails. In the _backticks subroutine in BASE.PM I added code to replace that long string with just "perl". 2. When I run perl build.pl I get the output shown in the attachement. When I run perl makefile.pl, I get this output (with my diagnotics code included): perl makefile.pl # running Build.PL DEBUG: BASE.PM _backticks running PERL "-MConfig=myconfig" "-e" "print" "-e" "myconfig" DEBUG: BASE.PM _backticks running PERL "-MConfig=myconfig" "-e" "print" "-e" "myconfig" DEBUG: BASE.PM _backticks running PERL "-le" "print for @INC" $4$dua30:[perl.perl-5_6_1.][000000]perl.exe;1 "ARRAY(0x54742c)" Can't open perl script "ARRAY(0x54742c)": file specification syntax error %RMS-F-SYN, file specification syntax error Couldn't run Build.PL: at lib/Module/Build/Compat.pm line 200. %RMS-F-SYN, file specification syntax error
Subject: base.pm
Code in BASE.PM, near line 340. My changes: #!#! sub _backticks { my ($self, @cmd) = @_; if ($self->have_forkpipe) { local *FH; my $pid = open FH, "-|"; if ($pid) { return wantarray ? <FH> : join '', <FH>; } else { die "Can't execute @cmd: $!\n" unless defined $pid; exec { $cmd[0] } @cmd; } } else { my $cmd = $self->_quote_args(@cmd); if ($self->os_type eq 'VMS') { #!#! $cmd =~ s/(.*)PERL\.EXE(;\d+"){0,1}\s+(.*)/perl $3/i; #!#! print "DEBUG: BASE.PM _backticks running $cmd\n"; #!#! } #!#! return `$cmd`; } } Output (including my print diagnostics): perl build.pl DEBUG: BASE.PM _backticks running $4$dua30:[perl.perl-5_6_1.][000000]perl.exe;1 -MConfig=myconfig -e print -e myconfig %DCL-W-IVVERB, unrecognized command verb - check validity and spelling \"$4$dua30:[perl.perl-5_6_1.][000000]perl.exe;1"\ Can't locate the perl binary used to run this script in ($4$dua30:[perl.perl-5_6_1.][000000] $4$dua30:[perl.perl-5_6_1.000000] USER_DIR:[N15MB1.BUILD]) With the code above, you get: perl build.pl DEBUG: BASE.PM _backticks running PERL "-MConfig=myconfig" "-e" "print" "-e" "myconfig" Checking whether your kit is complete... Looks good Checking prerequisites... * Optional prerequisite ExtUtils::CBuilder is not installed * Optional prerequisite Module::Signature is not installed * Optional prerequisite ExtUtils::ParseXS is not installed * Optional prerequisite Pod::Readme is not installed * Optional prerequisite Archive::Tar is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Checking features: C_support..........disabled * Optional prerequisite ExtUtils::ParseXS is not installed - ExtUtils::CBuilder is not installed YAML_support.......disabled - YAML is not installed HTML_support.......enabled manpage_support....enabled Creating new 'Build.com' script for 'Module-Build' version '0.2801' DEBUG: BASE.PM _backticks running PERL "-le" "print for @INC"
On Mon Jun 12 14:48:57 2006, michael bell wrote: Show quoted text
> Attempting to run "$4$dua30:[perl.perl-5_6_1.][000000]perl.exe;1" > always fails. In the _backticks subroutine in BASE.PM I added code > to replace that long string with just "perl".
Hi Michael, Sorry this has gone unanswered for so long. We've had quite a few VMS-related fixes go in recently and the code doesn't look the way it did in Jun 2006 anymore. I think the patch in http://rt.cpan.org/Ticket/Display.html?id=29810 (and/or other changes in the last year) may have fixed this issue. Can you please try 0.2808 from CPAN and/or the current svn? https://svn.perl.org/modules/Module-Build/trunk Thanks, Eric
OK, we've concluded that this bug has been resolved. If we missed something, please reopen it. Thanks to Craig for looking into this. --Eric From Craig: Show quoted text
> Eric wrote:
>> Re #29810 Could you please take a look at this (rather old) >> ticket and see if this patch (and/or other recent VMS changes in >> svn) fixes this issue? >> >> http://rt.cpan.org/Ticket/Display.html?id=19843 >> >>I'm guessing that it is resolved.
You can close it. _backticks and do_system have VMS overrides now and we're passing most tests that exercise them.