develooper Front page | perl.perl5.porters | Postings from March 2001

[ID 20010330.008] Not OK: perl v5.7.0 +DEVEL9472 on VMS_AXP V7.1(UNINSTALLED)

From:
Peter Prymmer
Date:
March 30, 2001 18:06
Subject:
[ID 20010330.008] Not OK: perl v5.7.0 +DEVEL9472 on VMS_AXP V7.1(UNINSTALLED)
Message ID:
Pine.OSF.4.10.10103301805450.63762-100000@aspara.forte.com

This is a build failure report for perl from pvhp@corie.forte.com,
generated with the help of perlbug 1.33 running under perl v5.7.0.


-----------------------------------------------------------------
[Please enter your report here]

Failed build seen: with Compaq C V6.4 (a compiler that does not correspond
to this bugreport nokfile wrapper) I saw a compiler warning bring the build 
to a halt on VMS V7.2-1 like so:

 CC/DECC/NOANSI_ALIAS/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/Define=PERL_CORE REGEXEC.C
                     if (c1 == -1000 || c == c1 || c == c2)
 .......................................^
 %CC-W-UNINIT1, The scalar variable "c" is fetched but not initialized.  And 
 there may be other such fetches of this variable that have not been
 reported in this compilation.
 at line number 3250 in file DKA500:[PERL]REGEXEC.C;1

A patch that successfully got around that eager compiler warning
looked like:

--- regexec.c;1	Fri Mar 30 14:47:56 2001
+++ regexec.c	Fri Mar 30 17:48:19 2001
@@ -3245,9 +3245,15 @@
 			    c = utf8_to_uvchr((U8*)PL_reginput, NULL);
 			else
 			    c = UCHARAT(PL_reginput);
+			/* If it could work, try it. */
+		        if (c == c1 || c == c2)
+		        {
+			    TRYPAREN(paren, n, PL_reginput);
+			    REGCP_UNWIND(lastcp);
+		        }
 		    }
 		    /* If it could work, try it. */
-		    if (c1 == -1000 || c == c1 || c == c2)
+		    else if (c1 == -1000)
 		    {
 			TRYPAREN(paren, n, PL_reginput);
 			REGCP_UNWIND(lastcp);
End of Patch.

Failed tests seen:

[.lib]cwd...............FAILED on test 7
[.lib]sigaction.........FAILED on test 13
[.lib]xs-typemap........FAILED on test 1

Failed 3/299 tests, 94.31% okay.
u=40.84  s=0  cu=0  cs=0  scripts=285  tests=21100

Here is a patch for lib/cwd.t.  I note that this helps only VMS
and the test will still be a problem on Mac OS (possibly Acorn Risc OS?).
Given the simple nature of the test the other path style platforms ought 
to easily be able to fit in here (you can after all run either `pwd` or 
`Directory` under MPW toolserver).  I like the idea of not loading 
File::Spec to run this test:

--- lib/cwd.t;1	Fri Mar 30 14:48:30 2001
+++ lib/cwd.t	Fri Mar 30 17:34:05 2001
@@ -29,10 +29,14 @@
     ($^O eq "MSWin32") ? "cd" : (grep { -x && -f } map { "$_/pwd" }
 			       split m/$Config{path_sep}/, $ENV{PATH})[0];
 
+if ($^O eq 'VMS') { $pwd_cmd = 'SHOW DEFAULT'; }
+
 if (defined $pwd_cmd) {
     chomp(my $start = `$pwd_cmd`);
     # Win32's cd returns native C:\ style
     $start =~ s,\\,/,g if $^O eq 'MSWin32';
+    # DCL SHOW DEFAULT has leading spaces
+    $start =~ s/^\s+// if $^O eq 'VMS';
     if ($?) {
 	for (3..6) {
 	    print "ok $_ # Skip: '$pwd_cmd' failed\n";
@@ -64,6 +68,8 @@
 my $fastcwd    = fastcwd;
 my $fastgetcwd = fastgetcwd;
 my $want = "t/pteerslt/path/to/a/dir";
+# This checked out OK on ODS-2 and ODS-5:
+$want = "T\.PTEERSLT\.PATH\.TO\.A\.DIR\]";
 print +($cwd        =~ m|$want$| ? "" : "not "), "ok 7\n";
 print +($getcwd     =~ m|$want$| ? "" : "not "), "ok 8\n";
 print +($fastcwd    =~ m|$want$| ? "" : "not "), "ok 9\n";
@@ -82,7 +88,13 @@
 print "#$ENV{PWD}\n";
 Cwd::chdir ".."; rmdir "pteerslt";
 print "#$ENV{PWD}\n";
-print +($ENV{PWD}  =~ m|\bt$| ? "" : "not "), "ok 12\n";
+if ($^O eq 'VMS') {
+    # This checked out OK on ODS-2 and ODS-5:
+    print +($ENV{PWD}  =~ m|\bT\]$| ? "" : "not "), "ok 12\n";
+}
+else {
+    print +($ENV{PWD}  =~ m|\bt$| ? "" : "not "), "ok 12\n";
+}
 
 if ($Config{d_symlink}) {
     my @dirs = split " " => $Config{libpth};
End of Patch.




[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=install
    severity=none
---
Site configuration information for perl v5.7.0:

Configured by pvhp at Fri Mar 30 15:03:16 UTC-8:00 2001.

Summary of my perl5 (revision 5.0 version 7 subversion 0) configuration:
  Platform:
    osname=VMS, osvers=V7.1, archname=VMS_AXP
    uname='VMS corie V7.1 AlphaServer 2100A 5/250'
    config_args='-Dusedevel -des'
    hint=none, useposix=false, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='CC/DECC', ccflags ='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS',
    optimize='',
    cppflags='undef'
    ccversion='60290008', gccversion='', gccosandvers='undef'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='int', lseeksize=4
    alignbytes=8, usemymalloc=N, prototype=define
  Linker and Libraries:
    ld='Link', ldflags ='/NoTrace/NoMap'
    libpth=/sys$share /sys$library
    libs= 
    perllibs= 
    libc=(DECCRTL), so=exe, useshrplib=undef, libperl=undef
  Dynamic Linking:
    dlsrc=dl_vms.c, dlext=exe, d_dlsymun=undef, ccdlflags=''
    cccdlflags='', lddlflags='/Share'

Locally applied patches:
    DEVEL9472

---
@INC for perl v5.7.0:
    lib/VMS_AXP
    lib
    perl_root:[lib.VMS_AXP.5_7_0]
    perl_root:[lib]
    perl_root:[lib.site_perl.VMS_AXP]
    perl_root:[lib.site_perl]
    /perl_root/lib/site_perl
    .

---
Environment for perl v5.7.0:
    HOME=user:[pvhp]
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=dra3:[perl]
    PERLSHR=PERL_ROOT:[000000]PERLSHR.EXE
    PERL_BADLANG (unset)
    PERL_ROOT=DRA3:[PERL5_005_03.]
    SHELL (unset)





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About