Charles Bailey wrote:

> OK, I finally got a chance to catch up on the last several days' patches,
> and I've got a new test kit based on RC1 up for ftp here as
>     ftp://perl.newman.upenn.edu/perl5/vmsperl_rc1_1.tgz

After applying the enclosed patch I obtained:

[.lib]filespec..........FAILED on test 187
[.lib]vmsish............FAILED on test 7
[.pragma]warnings.......FAILED on test 196
Failed 3/221 tests, 94.57% okay.
u=15.42  s=0  cu=0  cs=0  files=212  tests=9317

with DEC C V6.0-001 on OpenVMS Alpha V7.1

I took the xs_apiversion and pm_apiversion stuff directly from a VMS
pathified versions (i.e. s/\./_/) of the Bourne shell equivalent 
shown here with line numbers:

 13315  : Find earliest binary compatible site_perl subdirectory perl can use.
 13316  case "$bincompat5005" in
 13317  "$define") xs_apiversion='5.005' ;;
 13318  *) xs_apiversion=$version ;;   # The current site_perl version.
 13319  esac
 13320  : Find earliest pure perl site_perl subdirectory perl can use.
 13321  : The versioned directories started at 5.005.
 13322  pm_apiversion='5.005'

But note also that I have now stuck in the code to read patchlevel.h.

I've taken Dan's patch and rearranged it a bit in a couple of places so 
don't apply both - your option.

The change to vms.c is a declaration of retreat on the issue.  Note that 
I've made the comparison as constrictive as possible.

Thanks much for putting the kit together.

Peter Prymmer

This ought to apply with patch -p1:

diff -ru vmsperl_orig/configure.com vmsperl/configure.com
--- vmsperl_orig/configure.com  Sun Mar 12 18:13:33 2000
+++ vmsperl/configure.com       Mon Mar 13 13:49:13 2000
@@ -40,7 +40,7 @@
 $ macros = ""
 $ extra_flags = ""
 $ user_c_flags = ""
-$ use_debugging_perl = "y"
+$ use_debugging_perl = "n"
 $ use_ieee_math = "n"
 $ be_case_sensitive = "n"
 $ use_vmsdebug_perl = "n"
@@ -1088,7 +1088,9 @@
 $     api_subversion = F$ELEMENT(2," ",line)
 $     got_api_subversion = "true"
 $   ENDIF
-$   IF (.NOT.got_patch).OR.(.NOT.got_sub) THEN GOTO Patchlevel_h_loop
+$   IF (.NOT.got_patch).OR.(.NOT.got_sub).OR. -
+       (.NOT.got_api_revision).OR.(.NOT.got_api_version).OR.(.NOT.got_api_subversion) 
+-
+      THEN GOTO Patchlevel_h_loop
 $Close_patch:
 $   CLOSE CONFIG
 $   ELSE
@@ -1103,6 +1105,8 @@
 $ ENDIF
 $!
 $ version = revision + "_" + patchlevel + "_" + subversion
+$ xs_apiversion="5_005"
+$ pm_apiversion="5_005"
 $!
 $ IF (.NOT.vms_skip_install)
 $ THEN
@@ -1720,6 +1724,24 @@
 $   macros = macros + """__DEBUG__=1"","
 $ ELSE
 $   use_vmsdebug_perl = "N"
+$ ENDIF
+$!
+$! Ask if they want to build with DEBUGGING
+$ echo ""
+$ echo "Perl can be built with extra runtime debugging enabled. This
+$ echo "enables the ""-D"" switch, at the cost of some performance. It
+$ echo "was mandatory on perl 5.005 and before on VMS, but is now
+$ echo "optional. If you don't generally use it you should probably
+$ echo "leave this off and gain a bit of extra speed.
+$ dflt = "n"
+$ rp = "Build a DEBUGGING version of Perl? [''dflt'] "
+$ GOSUB myread
+$ IF ans.eqs."" then ans = dflt
+$ IF ans
+$ THEN
+$   use_debugging_perl = "Y"
+$ ELSE
+$   use_debugging_perl = "N"
 $ ENDIF
 $!
 $! Ask if they want to build with MULTIPLICITY
diff -ru vmsperl_orig/vms/subconfigure.com vmsperl/vms/subconfigure.com
--- vmsperl_orig/vms/subconfigure.com   Sun Mar 12 18:22:57 2000
+++ vmsperl/vms/subconfigure.com        Mon Mar 13 13:47:13 2000
@@ -3961,8 +3961,8 @@
 $ WC "d_eunice='" + perl_d_eunice + "'"
 $ WC "libs='" + perl_libs + "'"
 $ WC "libc='" + perl_libc + "'"
-$ WC "xs_apiversion='" + localperlver + "'"
-$ WC "pm_apiversion='" + localperlver + "'"
+$ WC "xs_apiversion='" + xs_apiversion + "'"
+$ WC "pm_apiversion='" + pm_apiversion + "'"
 $ WC "pager='" + perl_pager + "'"
 $ WC "uidtype='" + perl_uidtype + "'"
 $ WC "uidformat='" + perl_uidformat + "'"
diff -ru vmsperl_orig/vms/test.com vmsperl/vms/test.com
--- vmsperl_orig/vms/test.com   Sun Mar 12 18:03:06 2000
+++ vmsperl/vms/test.com        Mon Mar 13 13:46:10 2000
@@ -41,7 +41,7 @@
 $   if p2.nes."" then ndbg = "ndbg"
 $!
 $!  Pick up a copy of perl to use for the tests
-$   Delete/Log/NoConfirm Perl.;*
+$   If F$Search("Perl.").nes."" Then Delete/Log/NoConfirm Perl.;*
 $   Copy/Log/NoConfirm [-]'ndbg'Perl'exe' []Perl.
 $
 $!  Make the environment look a little friendlier to tests which assume Unix
@@ -94,7 +94,7 @@
 $   Show Process/Accounting
 $   testdir = "Directory/NoHead/NoTrail/Column=1"
 $   Define/User 'dbg'Perlshr Sys$Disk:[-]'dbg'PerlShr'exe'
-$   set message/nofacil/nosever/noiden/notext
+$!   set message/nofacil/nosever/noiden/notext
 $   MCR Sys$Disk:[]Perl. "-I[-.lib]" - "''p3'" "''p4'" "''p5'" "''p6'"
 $   Deck/Dollar=$$END-OF-TEST$$
 # $RCSfile: TEST,v $$Revision: 4.1 $$Date: 92/08/07 18:27:00 $
diff -ru vmsperl_orig/vms/vms.c vmsperl/vms/vms.c
--- vmsperl_orig/vms/vms.c      Sun Mar 12 17:30:17 2000
+++ vmsperl/vms/vms.c   Mon Mar 13 13:47:31 2000
@@ -4671,6 +4671,16 @@
   if (retsts == SS$_ACCONFLICT) {
     return TRUE;
   }
+/* 
+   Hail Mary, problem with sys$check_access() seen with
+   cc/ver nl: DEC C V6.0-001 on OpenVMS Alpha V7.1 + ALPACRT09_071
+ */
+#if defined (__ALPHA) && defined(__VMS_VER) && __VMS_VER == 70100022 && 
+defined(__DECC_VER) && __DECC_VER == 60090001
+  if (retsts == 114762) {
+    return TRUE;
+  }
+#endif
+
   _ckvmssts(retsts);
 
   return FALSE;  /* Should never get here */
End of Patch.

Reply via email to