Re: Experience installing on Alpha VMS 8.3

[email protected] ("Miller, Edward S." via vmsperl) Tue, 16 Feb 2021 04:47:45 +0000
Newsgroups perl.vmsperl
Message-ID <BY5PR07MB69829CF1F06AD67080C2640BFF879@BY5PR07MB6982.namprd07.prod.outlook.com>
--_000_BY5PR07MB69829CF1F06AD67080C2640BFF879BY5PR07MB6982namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Craig,

Thanks for your prompt replies.

You asked for a bit more detail on the issue that the machinery for rerunni=
ng (with details) the failed
tests did not seem to work for all of the failing tests.

Two examples of failed tests:

During the run of all tests these two examples appear as
  lib/warnings ................................................... FAILED a=
t test 710
  t/io/socketpair ................................................ FAILED--=
unexpected output at test 0

In the list of all failed tests at the end of the run of all tests they app=
ear as
        ../lib/warnings.t
        io/socketpair.t

All occurrences of the file names socketpair.t and warnings.t in the distri=
bution directories:
  DISK$ORACLE5:[PERL.perl-5^.32^.1.dist.base.t]warnings.t;1
  DISK$ORACLE5:[PERL.perl-5^.32^.1.lib]warnings.t;1
  DISK$ORACLE5:[PERL.perl-5^.32^.1.cpan.Socket.t]socketpair.t;1
  DISK$ORACLE5:[PERL.perl-5^.32^.1.t.io]socketpair.t;1

  (These two warnings.t files are not identical, presumably DISK$ORACLE5:[P=
ERL.perl-5^.32^.1.lib]warnings.t is the failed test.
  These two socketpair.t files are not identical, presumably DISK$ORACLE5:[=
PERL.perl-5^.32^.1.t.io]socketpair.t is the failed test.)

The command
   $ @[.vms]test .EXE "" -"v" [.io]socketpair.t
reruns that test with more detailed output.  Using similar syntax for all f=
ailing tests that are reported
with names specified as  "t/..." also reruns the corresponding failing test=
.

I didn't find the proper command to rerun the test on the warnings.t file (=
or any of the other test names that did
not match the "t/..." syntax).

 -- Ed Miller

________________________________
From: Craig Berry <[email protected]>
Sent: Monday, February 15, 2021 7:25 PM
To: Miller, Edward S. <[email protected]>; [email protected] <vmsperl@pe=
rl.org>
Subject: Re: Experience installing on Alpha VMS 8.3

On Feb 15, 2021, at 5:07 PM, Miller, Edward S. via vmsperl <[email protected]=
g> wrote:
>
> We have recently installed PERL v5.32.1 on our Alpha VMS 8.3 system using=
 the distribution from PERL.ORG.
> The README.VMS suggests that:
>    "Regardless of how confident you are, make a bug report to the VMSPerl=
 mailing list."

Thanks for the report.  Haven't had many lately.

> This is not really a complete bug report, but more a summary of my experi=
ence doing the install
> and an attempt to find out whether anyone is really interested in a more =
specific 'bug report'.
>
> As far as we can tell, the install for us was successful.  Our user who r=
eported that his code would not
> work with our old perl version (5.004_04) reports that it now works with =
the newly installed v5.32.1.

Wow. 5.004_04 was from 1997, so that's a big jump.

> I have one change to the readme.vms I would strongly suggest:  state uneq=
uivocally that the install procedures should
> be done using an ODS-5 disk, and that you are (very likely?) wasting your=
 time attempting it on an ODS-2 disk.
> (In our case the first MMK operation failed eventually--in two different =
ways, with two different MMK versions--
> using an ODS-2 disk.)

Fair enough.  Things go from possible to not recommended to just won't work=
 and the docs don't always keep up.  README.vms does say the following:

------
ODS-5 and Extended Parse

All development and testing of Perl on VMS takes place on ODS-5 volumes wit=
h
extended parse enabled in the environment via the command C<SET PROCESS/PAR=
SE=3DEXTENDED>.
Latent support for ODS-2 volumes (including on VAX) is still present, but t=
he number
of components that require ODS-5 features is steadily growing and ODS-2 sup=
port may be
completely removed in a future release.
------

That's not strictly true anymore either as VAX support is long gone.  So ye=
s, there are some documentation updates needed.


> The step   @configure "-des" was apparently successful (assuming the many=
 "NOT found" messages are benign).

It will find more things on v8.4 than v8.3 (which is now a pretty old relea=
se) and even more things on v8.4-2 with the C99 patch applied.  It's normal=
 to have some things not found.

> The first "MMK" step had several "%CC-I" compiler messages, the most susp=
icious of which was
>
>                 neg =3D PL_statcache.st_ino < 0;
>      ..................^
>     %CC-I-QUESTCOMPARE, In this statement, the unsigned expression "PL_st=
atcache.st_ino" is being compared with a relational
>     operator to a constant whose value is not greater than zero.  This mi=
ght not be what you intended.
>     at line number 2949 in file DISK$ORACLE5:[PERL.perl-5^.32^.1]pp_sys.c=
;1

That line of code is guarded like so:

            CLANG_DIAG_IGNORE_STMT(-Wtautological-compare);
            GCC_DIAG_IGNORE_STMT(-Wtype-limits);
            neg =3D PL_statcache.st_ino < 0;
            GCC_DIAG_RESTORE_STMT;
            CLANG_DIAG_RESTORE_STMT;

We could add equivalent pragmas to make the VMS C compiler ignore it as wel=
l but I question whether it's worth 10 lines of code to negate a warning on=
 one line of code.  The author of that line insists that it's idiomatic C a=
nd there's nothing wrong with it.

>
> The step "MMK test" completed and summarized its results with
>    "Failed 58 tests out of 2350, 97.53% okay."
>
>    I ran the procedure to get details of some of these failures using
>        $ @[.vms]test .EXE "" -"v"  (filespec)
>    However I was successful in getting the proper syntax for (filespec) o=
nly for those that were originally
>    reported as FAILED with a file specification that started with "t/", n=
ot the others.

58 failures is on the high side but as I said, VMS v8.3 is pretty old and I=
 haven't built on it in years.  It's problematic that the test driver doesn=
't work for tests outside of the [.t] directory.  If you give me an example=
 it's possible I could spot a way to run it.

> The step "MMK install" was apparently successful (assuming the many "Can'=
t cd to (cpan/IO-Compress/)  xxx.tmp:  no such file or directory"
> messages are benign).

I believe they are benign as far as getting things installed.  There is a b=
ug in something IO::Compress uses (I think it's File::Temp) that causes the=
 warning but it doesn't seem to prevent it from working.

>
> A thanks to all of those who contributed to making PERL functional on VMS=
 systems.
>
>   -- Ed Miller  SLAC NAL.

________________________________________
Craig A. Berry

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser


--_000_BY5PR07MB69829CF1F06AD67080C2640BFF879BY5PR07MB6982namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Hi Craig,
<div><br>
</div>
<div>Thanks for your prompt replies.</div>
<div><br>
</div>
<div>You asked for a bit more detail on the issue that the machinery for re=
running (with details) the failed</div>
<div>tests did not seem to work for all of the failing tests.</div>
<div><br>
</div>
<div>Two examples of failed tests:</div>
<div><br>
</div>
<div>During the run of all tests these two examples appear as</div>
<div>&nbsp; lib/warnings ..................................................=
. FAILED at test 710</div>
<div>&nbsp; t/io/socketpair ...............................................=
. FAILED--unexpected output at test 0</div>
<div><br>
</div>
<div>In the list of all failed tests at the end of the run of all tests the=
y appear as</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; ../lib/warnings.t</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; io/socketpair.t</div>
<div><br>
</div>
<div>All occurrences of the file names socketpair.t and warnings.t in the d=
istribution directories:</div>
<div>&nbsp; DISK$ORACLE5:[PERL.perl-5^.32^.1.dist.base.t]warnings.t;1</div>
<div>&nbsp; DISK$ORACLE5:[PERL.perl-5^.32^.1.lib]warnings.t;1</div>
<div>&nbsp; DISK$ORACLE5:[PERL.perl-5^.32^.1.cpan.Socket.t]socketpair.t;1</=
div>
<div>&nbsp; DISK$ORACLE5:[PERL.perl-5^.32^.1.t.io]socketpair.t;1</div>
<div><br>
</div>
<div>&nbsp; (These two warnings.t files are not identical, presumably DISK$=
ORACLE5:[PERL.perl-5^.32^.1.lib]warnings.t is the failed test.</div>
<div>&nbsp; These two socketpair.t files are not identical, presumably DISK=
$ORACLE5:[PERL.perl-5^.32^.1.t.io]socketpair.t is the failed test.)</div>
<div><br>
</div>
<div>The command</div>
<div>&nbsp; &nbsp;$ @[.vms]test .EXE &quot;&quot; -&quot;v&quot; [.io]socke=
tpair.t</div>
<div>reruns that test with more detailed output. &nbsp;Using similar syntax=
 for all failing tests that are reported</div>
<div>with names specified as &nbsp;&quot;t/...&quot; also reruns the corres=
ponding failing test.</div>
<div><br>
</div>
<div>I didn't find the proper command to rerun the test on the warnings.t f=
ile (or any of the other test names that did</div>
<div>not match the &quot;t/...&quot; syntax).</div>
<div><br>
</div>
<div>&nbsp;-- Ed Miller</div>
<br>
</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Craig Berry &lt;craig=
[email protected]&gt;<br>
<b>Sent:</b> Monday, February 15, 2021 7:25 PM<br>
<b>To:</b> Miller, Edward S. &lt;[email protected]&gt;; [email protected]=
g &lt;[email protected]&gt;<br>
<b>Subject:</b> Re: Experience installing on Alpha VMS 8.3</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText">On Feb 15, 2021, at 5:07 PM, Miller, Edward S. via=
 vmsperl &lt;[email protected]&gt; wrote:<br>
&gt; <br>
&gt; We have recently installed PERL v5.32.1 on our Alpha VMS 8.3 system us=
ing the distribution from PERL.ORG.<br>
&gt; The README.VMS suggests that:<br>
&gt;&nbsp;&nbsp;&nbsp; &quot;Regardless of how confident you are, make a bu=
g report to the VMSPerl mailing list.&quot;<br>
<br>
Thanks for the report.&nbsp; Haven't had many lately.<br>
<br>
&gt; This is not really a complete bug report, but more a summary of my exp=
erience doing the install<br>
&gt; and an attempt to find out whether anyone is really interested in a mo=
re specific 'bug report'.<br>
&gt; <br>
&gt; As far as we can tell, the install for us was successful.&nbsp; Our us=
er who reported that his code would not<br>
&gt; work with our old perl version (5.004_04) reports that it now works wi=
th the newly installed v5.32.1.<br>
<br>
Wow. 5.004_04 was from 1997, so that's a big jump.<br>
<br>
&gt; I have one change to the readme.vms I would strongly suggest:&nbsp; st=
ate unequivocally that the install procedures should<br>
&gt; be done using an ODS-5 disk, and that you are (very likely?) wasting y=
our time attempting it on an ODS-2 disk.<br>
&gt; (In our case the first MMK operation failed eventually--in two differe=
nt ways, with two different MMK versions--<br>
&gt; using an ODS-2 disk.)<br>
<br>
Fair enough.&nbsp; Things go from possible to not recommended to just won't=
 work and the docs don't always keep up.&nbsp; README.vms does say the foll=
owing:<br>
<br>
------<br>
ODS-5 and Extended Parse<br>
<br>
All development and testing of Perl on VMS takes place on ODS-5 volumes wit=
h<br>
extended parse enabled in the environment via the command C&lt;SET PROCESS/=
PARSE=3DEXTENDED&gt;.<br>
Latent support for ODS-2 volumes (including on VAX) is still present, but t=
he number<br>
of components that require ODS-5 features is steadily growing and ODS-2 sup=
port may be<br>
completely removed in a future release.<br>
------<br>
<br>
That's not strictly true anymore either as VAX support is long gone.&nbsp; =
So yes, there are some documentation updates needed.<br>
<br>
<br>
&gt; The step&nbsp;&nbsp; @configure &quot;-des&quot; was apparently succes=
sful (assuming the many &quot;NOT found&quot; messages are benign).<br>
<br>
It will find more things on v8.4 than v8.3 (which is now a pretty old relea=
se) and even more things on v8.4-2 with the C99 patch applied.&nbsp; It's n=
ormal to have some things not found.<br>
<br>
&gt; The first &quot;MMK&quot; step had several &quot;%CC-I&quot; compiler =
messages, the most suspicious of which was<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; neg =3D PL_statcache.st_ino &lt; 0;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..................^<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; %CC-I-QUESTCOMPARE, In this statement, the uns=
igned expression &quot;PL_statcache.st_ino&quot; is being compared with a r=
elational<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; operator to a constant whose value is not grea=
ter than zero.&nbsp; This might not be what you intended.<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; at line number 2949 in file DISK$ORACLE5:[PERL=
.perl-5^.32^.1]pp_sys.c;1<br>
<br>
That line of code is guarded like so:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLANG_DI=
AG_IGNORE_STMT(-Wtautological-compare);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GCC_DIAG=
_IGNORE_STMT(-Wtype-limits);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; neg =3D =
PL_statcache.st_ino &lt; 0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GCC_DIAG=
_RESTORE_STMT;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLANG_DI=
AG_RESTORE_STMT;<br>
<br>
We could add equivalent pragmas to make the VMS C compiler ignore it as wel=
l but I question whether it's worth 10 lines of code to negate a warning on=
 one line of code.&nbsp; The author of that line insists that it's idiomati=
c C and there's nothing wrong with it.<br>
<br>
&gt; <br>
&gt; The step &quot;MMK test&quot; completed and summarized its results wit=
h<br>
&gt;&nbsp;&nbsp;&nbsp; &quot;Failed 58 tests out of 2350, 97.53% okay.&quot=
;<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp; I ran the procedure to get details of some of these =
failures using<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ @[.vms]test .EXE &quot;&qu=
ot; -&quot;v&quot;&nbsp; (filespec)<br>
&gt;&nbsp;&nbsp;&nbsp; However I was successful in getting the proper synta=
x for (filespec) only for those that were originally<br>
&gt;&nbsp;&nbsp;&nbsp; reported as FAILED with a file specification that st=
arted with &quot;t/&quot;, not the others.<br>
<br>
58 failures is on the high side but as I said, VMS v8.3 is pretty old and I=
 haven't built on it in years.&nbsp; It's problematic that the test driver =
doesn't work for tests outside of the [.t] directory.&nbsp; If you give me =
an example it's possible I could spot a way
 to run it.<br>
<br>
&gt; The step &quot;MMK install&quot; was apparently successful (assuming t=
he many &quot;Can't cd to (cpan/IO-Compress/)&nbsp; xxx.tmp:&nbsp; no such =
file or directory&quot;<br>
&gt; messages are benign).<br>
<br>
I believe they are benign as far as getting things installed.&nbsp; There i=
s a bug in something IO::Compress uses (I think it's File::Temp) that cause=
s the warning but it doesn't seem to prevent it from working.<br>
<br>
&gt; <br>
&gt; A thanks to all of those who contributed to making PERL functional on =
VMS systems.<br>
&gt; <br>
&gt;&nbsp;&nbsp; -- Ed Miller&nbsp; SLAC NAL.<br>
<br>
________________________________________<br>
Craig A. Berry<br>
<br>
&quot;... getting out of a sonnet is much more<br>
&nbsp;difficult than getting in.&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; Brad Leithauser<br>
<br>
</div>
</span></font></div>
</body>
</html>

--_000_BY5PR07MB69829CF1F06AD67080C2640BFF879BY5PR07MB6982namp_--