Discussion:
Building latest C-Kermit under OpenVMS gives errors
Add Reply
Tony Nicholson
2021-10-28 02:41:29 UTC
Reply
Permalink
I thought I’d try building the latest source code for C-Kermit from
https://www.kermitproject.org/ckdaily.html on OpenVMS VAX
and Alpha. The release notes seem to suggest 9.0.305-04
should compile under OpenVMS.

I’m getting missing modules GET_RMS_DEFAULTS and ISABSOLUTE
when linking (using the $@ckvker “O” build procedure - after I fixed an
error with Multinet include clashes with a #include <time.h>).

The CKVFIO.C module is missing these routines (which are in the older
C-Kermit 9.0.302 sources). The latest one appears to have changed
to add support for ODS5 volumes.

On a wild hunch that someone here may have been working on
the revised OpenVMS module (CKVFIO.C) - perhaps Steven Schweda
or David Hittner. Is the version that Frank da Cruz has on the
Kermit web site the latest?

Has anyone else tried to get this compiled - before I dive in and try
to fix this?

Tony
dthi...@gmail.com
2021-10-30 01:26:32 UTC
Reply
Permalink
Post by Tony Nicholson
On a wild hunch that someone here may have been working on
the revised OpenVMS module (CKVFIO.C) - perhaps Steven Schweda
or David Hittner. Is the version that Frank da Cruz has on the
Kermit web site the latest?
Has anyone else tried to get this compiled - before I dive in and try
to fix this?
Tony
The current 9.0.305 sources does not currently compile on OpenVMS. Frank da Cruz lost his ability to compile on OpenVMS 10 or so years ago.

I'm working on consolidating Steve Schweda's updates and a patch for OpenVMS x86_64 with the latest 9.0.305 kit.

Give me a couple more weeks to finish and submit to Frank.

David Hittner
abrsvc
2021-11-01 18:36:17 UTC
Reply
Permalink
Post by ***@gmail.com
The current 9.0.305 sources does not currently compile on OpenVMS. Frank da Cruz lost his ability to compile on OpenVMS 10 or so years ago.
Would working on Kermit qualify as hobbyist use ?
If so, he could run an emulated Alpha system under the VSI hobbyist licence.
Unfortunately, that's about the best he could do for free as there are
no free full system emulators for Itanium I am aware of. (Ski is _NOT_
a full system emulator).
However, allowing him to build the code even on Alpha could help with
identifying general VMS issues in the code.
Simon.
--
Walking destinations on a map are further away than they appear.
i have a bunch of RX1620s available cheap if an Itanium is needed. I also have an older RX system in the "office" enclosure that is extremely quiet available as well.

Let me know if anyone needs one.

Dan
Steven Schweda
2021-11-02 04:35:11 UTC
Reply
Permalink
Would working on Kermit qualify as hobbyist use ?
If it doesn't, then I could be in trouble.

You could ask, but I doubt that Frank is looking for a new (another?)
hobby computer/OS to manage. He seems to be willing to let others do
the VMS development (with variable results, I'd say).
http://antinode.info/ftp/kermit/v9r0_305_Alpha04/
ftp://antinode.info/kermit/v9r0_305_Alpha04/
The latest builder there (ckvker.com) might actually work now. But,
for SSL support, you'd seem to need OpenSSL 1.1.1 (or later). I haven't
tried it yet on a VSI system, so no bets there. Now that heating season
has returned here, I might be able to justify trading some natural gas
for rx2660 power, until I make the changeover on my main rx2600.
Tony Nicholson
2021-11-02 23:25:57 UTC
Reply
Permalink
http://antinode.info/ftp/kermit/v9r0_305_Alpha04/
ftp://antinode.info/kermit/v9r0_305_Alpha04/
The latest builder there (ckvker.com) might actually work now. But,
for SSL support, you'd seem to need OpenSSL 1.1.1 (or later). I haven't
tried it yet on a VSI system, so no bets there. Now that heating season
has returned here, I might be able to justify trading some natural gas
for rx2660 power, until I make the changeover on my main rx2600.
Thanks Steven. Much appreciated.

These source files build without SSL support for me under
Compaq OpenVMS VAX V7.3 and VSI OpenVMS AXP V8.4-2L1.

I've only tested a couple of file transfers using server mode
to both Kermit-11 running under RSTS/E and to Kermit-80 on
an 8-bit Z80 running CP/M plus. I'll do some more testing later
this evening. I've not gone down the OpenSSL rabbit hole yet.

Tony
Steven Schweda
2021-11-03 03:07:39 UTC
Reply
Permalink
These source files build without SSL support for me [...]
What could go wrong? Most of the non-builder problems (and some of
the builder problems) were lost/ignored changes, so easy enough to find
and re-fix.
[...] I've not gone down the OpenSSL rabbit hole yet.
That's where the serious fun should be found. (Especially if you try
to use the (doomed) HTTP[S] code.)

My long-neglected rx2660 seems to have VSI VMS V8.4-2L1 installed,
but all its old Community PAKs have expired, so I'll try to get it
updated to -2L3 when the new Community PAKs arrive. Then I should be
able to try some VSI [Open]SSL kits against the latest ckvker.com. But,
as I've said, I'd expect anything older than OpenSSL 1.1.1 to fail, so
I'd expect only the new VSI SSL111 kit to have a chance.

Because almost every OpenSSL version from every origin uses different
logical names and/or .EXE/.OLB names, until I try it, I would not be
amazed by an error (or more) with that SSL111 kit. Should be easy to
make any needed adjustments, however. (I hope.)
Steven Schweda
2021-11-03 05:04:33 UTC
Reply
Permalink
I've been in touch with Frank da Cruz and supplied the macOS patches.
[...]
Did you try it with my (not-entirely-VMS-specific) changes for
9.0.305 Alpha.04? There are multiple ways to eliminate the MAXPATHLEN
problems, but I prefer my scheme, which largely eliminates MAXPATHLEN.

Around here, the Mac compiler has a whole pile of warnings. They
might be mostly unimportant, but the compiler-suggested changes should
be harmless everyplace. And there are some things which look actually
bad, like, for example:

ckcuni.c:8272:11: warning: use of logical '&&' with constant operand
[-Wconstant-logical-operand]
if (c && 0xff80) /* 7 bits */
^ ~~~~~~
ckcuni.c:8272:11: note: use '&' for a bitwise operation
if (c && 0xff80) /* 7 bits */
^~
&
ckcuni.c:8272:11: note: remove constant to silence this warning
if (c && 0xff80) /* 7 bits */
~^~~~~~~~~
1 warning generated.

Someone ought to inspect these things, at least.
Tony Nicholson
2021-11-03 21:01:09 UTC
Reply
Permalink
Post by Steven Schweda
Did you try it with my (not-entirely-VMS-specific) changes for
9.0.305 Alpha.04?
Yes I did - and I've just sent you an e-mail regarding this.
Post by Steven Schweda
Around here, the Mac compiler has a whole pile of warnings.
[snip]
Post by Steven Schweda
Someone ought to inspect these things, at least.
Agreed. I'll look into this.

Tony
William
2021-11-06 23:56:19 UTC
Reply
Permalink
That && at ckcuni.c:8272 should probably be &
It might only matter for Japanese Roman ISO 646, which could be why no one noticed it yet.
Post by Steven Schweda
I've been in touch with Frank da Cruz and supplied the macOS patches.
[...]
Did you try it with my (not-entirely-VMS-specific) changes for
9.0.305 Alpha.04? There are multiple ways to eliminate the MAXPATHLEN
problems, but I prefer my scheme, which largely eliminates MAXPATHLEN.
Around here, the Mac compiler has a whole pile of warnings. They
might be mostly unimportant, but the compiler-suggested changes should
be harmless everyplace. And there are some things which look actually
ckcuni.c:8272:11: warning: use of logical '&&' with constant operand
[-Wconstant-logical-operand]
if (c && 0xff80) /* 7 bits */
^ ~~~~~~
ckcuni.c:8272:11: note: use '&' for a bitwise operation
if (c && 0xff80) /* 7 bits */
^~
&
ckcuni.c:8272:11: note: remove constant to silence this warning
if (c && 0xff80) /* 7 bits */
~^~~~~~~~~
1 warning generated.
Someone ought to inspect these things, at least.
Steven Schweda
2021-11-07 02:30:59 UTC
Reply
Permalink
Post by William
That && at ckcuni.c:8272 should probably be &
_Very_ probably. As the compiler suggested.
Post by William
It might only matter for Japanese Roman ISO 646, which could be why no one noticed it yet.
You don't need to test the code if your compiler identifies the
error. Unless, of course, the compiler also reports dozens of
camouflage complaints, and the fellow in charge of the code doesn't see
the value in making the changes needed to clear them. Everything's
complicated.
Lawrence D’Oliveiro
2021-11-07 03:19:55 UTC
Reply
Permalink
Post by Steven Schweda
You don't need to test the code if your compiler identifies the
error.
There is never an excuse for not testing the code. You can never have too much testing of the code.

You know the old saying “no work of art is ever finished, it is only abandoned”? That applies to code-testing protocols, too.
Tony Nicholson
2021-11-07 21:21:25 UTC
Reply
Permalink
Post by William
That && at ckcuni.c:8272 should probably be &
_Very_ probably. As the compiler suggested.
Post by William
It might only matter for Japanese Roman ISO 646, which could be why no one noticed it yet.
You don't need to test the code if your compiler identifies the
error. Unless, of course, the compiler also reports dozens of
camouflage complaints, and the fellow in charge of the code doesn't see
the value in making the changes needed to clear them. Everything's
complicated.
Keep watch for a C-Kermit 9.0.305 Alpha 05 release...

Steven and myself have gotten code fixes to Frank da Cruz that he's
incorporated into the source code. I've just finished testing this new
release from OpenVMS VAX and Alpha; macOS Catalina and Monterey;
and from a Raspberry Pi. As soon as Frank hears back from others
that have contributed patches, he''ll announce it (and I'll forward a
copy of the announcement here to comp.os.vms).

Tony
Tony Nicholson
2021-11-16 22:14:21 UTC
Reply
Permalink
Post by Tony Nicholson
Keep watch for a C-Kermit 9.0.305 Alpha 05 release...
Frank da Cruz has just released this version for regular distribution.

It's available in the usual place at

https://www.kermitproject.org/ckdaily.html

See the "voluminous update history" link for release information.

I'm using this latest version under OpenVMS VAX and Alpha, as well
as macOS and Raspberry PiOS-32 (Debian 10) Linux.

Tony
Hunter Goatley
2021-11-17 04:44:14 UTC
Reply
Permalink
Post by Tony Nicholson
Post by Tony Nicholson
Keep watch for a C-Kermit 9.0.305 Alpha 05 release...
Frank da Cruz has just released this version for regular distribution.
It's available in the usual place at
https://www.kermitproject.org/ckdaily.html
Thanks, Tony!
--
Hunter
------
Hunter Goatley, Process Software, http://www.process.com/
***@goatley.com http://hunter.goatley.com/
Tony Nicholson
2021-10-30 09:02:48 UTC
Reply
Permalink
The last thing I tried seemed to call its version "9.0.305 Alpha.02".
http://antinode.info/ftp/kermit/v9r0_305_Alpha02/
ftp://antinode.info/kermit/v9r0_305_Alpha02/
Thanks Steven. I looked at these and indeed there are quite a few changes.

As you mention below, some of the coding is quite ugly!
[...] The release notes seem to suggest 9.0.305-04 should compile
under OpenVMS.
With any luck, at least the source-file corruption in that kit might
be fixed (again?).
fp[n] = fopen("NLA0:","r"); /* CK wants a fp, give it one */
I don't know which sub-genius had that flash of inspiration. (The
compiler likes it, at least.) I assume that correcting it would require
some serious changes to the file-I/O scheme.
[...] I fixed an error with Multinet include clashes with a #include
<time.h>).
Details? Did you specify Multinet explicitly, instead of relying on
its TCPIP emulation?
I've just let the ckvker.com DCL build file detect I'm using Multinet.

There's existing comments in ckcmai.c regarding a clash with Multinet
and the inclusion of <sys/time.h>.

This causes a compilation error with incompatible type for the 5th parameter to
the select() routine. The default expects a "struct timeval" type, whereas Multinet
uses "void". To fix this I included the Multinet version of time.h from the
multinet_root:[multinet.include.sys] directory in ckcmai.c (using #ifdef MULTINET
conditional).

Tony
Loading...