Page 1 of 1

64-bit OpenSSL 3.0.12 (et al.) from openssl.org v. VMS

Posted: Mon Dec 04, 2023 12:16 am
by sms

Code: Select all

   Recently, I was looking at building my usual (obsolete?) GnuPG kit on
x86_64, using a recent home-built cURL kit (for the GnuPG keyserver
programs), and a home-built OpenSSL kit for cURL (as well as the
VSI-supplied cURL/[Open]SSL stuff).

   For completeness, I also tried to build cURL with 64-bit pointers,
and ran into trouble with the corresponding home-built OpenSSL kit. 
(Now two projects away from what I was trying to do.)

   When 64-bit pointers are requested on VMS, the OpenSSL file specs for
the object libraries and shared images get a "64" added to them.  (Just
like the VSI scheme, except for the many differences.)  For example:

      OSSL$libcrypto03_shr.EXE  ->  OSSL$libcrypto03_shr64.EXE
      OSSL$libssl03_shr.EXE;1   ->  OSSL$libssl03_shr64.EXE

   That seems to much work.  Sadly, the file specs and logical names in
the OSSL$INSTROOT:[SYS$STARTUP] DCL scripts do not get the
desired/expected "64" modifiers.  Apparently, this has been true for
some time, back to at least 3.0.7.

   Note that this bug affects _all_ VMS 64-bit-pointer builds, not only
x86_64.

   On a different topic, the list of configurations recognized by
config.com didn't include "vms-x86_64-p32" or "vms-x86_64-p64", only
plain-old "vms-x86_64", so specifying "-32" or "-64" to config.com was
fatal on x86_64.  (I just copied the IA64 stuff for x86_64, so if
fancier compiler options would be helpful on x86_64, you're on your
own.)

   I've logged a complaint at:
      https://github.com/openssl/openssl/issues/22899

   No response yet, but, in the mean time, if anyone's interested in a
small pile of loose files with suggested changes:

      http://antinode.info/ftp/openssl/3_0_12/

   I could be wrong, but these changes seem to me to be improvements,
and I haven't seen them elsewhere.  No bets on whether any of them
(other than the inapplicable DCL scripts) might have any value to what
VSI does with OpenSSL.