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
Download (untitled) / with headers
text/plain 1.2k
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
Download base.pm
text/x-perl 2.2k
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"
Download (untitled) / with headers
text/plain 678b
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
Download (untitled) / with headers
text/plain 540b
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.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.