| NOTES FOR THE OPENVMS PLATFORM | |
| ============================== | |
| Requirement details | |
| ------------------- | |
| In addition to the requirements and instructions listed in INSTALL, | |
| this are required as well: | |
| * At least ODS-5 disk organization for source and build. | |
| Installation can be done on any existing disk organization. | |
| About ANSI C compiler | |
| --------------------- | |
| An ANSI C compiled is needed among other things. This means that | |
| VAX C is not and will not be supported. | |
| We have only tested with DEC C (aka HP VMS C / VSI C) and require | |
| version 7.1 or later. Compiling with a different ANSI C compiler may | |
| require some work. | |
| Please avoid using C RTL feature logical names DECC$* when building | |
| and testing OpenSSL. Most of all, they can be disruptive when | |
| running the tests, as they affect the Perl interpreter. | |
| About ODS-5 directory names and Perl | |
| ------------------------------------ | |
| It seems that the perl function canonpath() in the File::Spec module | |
| doesn't treat file specifications where the last directory name | |
| contains periods very well. Unfortunately, some versions of VMS tar | |
| will keep the periods in the OpenSSL source directory instead of | |
| converting them to underscore, thereby leaving your source in | |
| something like [.openssl-1^.1^.0]. This will lead to issues when | |
| configuring and building OpenSSL. | |
| We have no replacement for Perl's canonpath(), so the best workaround | |
| for now is to rename the OpenSSL source directory, as follows (please | |
| adjust for the actual source directory name you have): | |
| $ rename openssl-1^.1^.0.DIR openssl-1_1_0.DIR | |
| About MMS and DCL | |
| ----------------- | |
| MMS has certain limitations when it comes to line length, and DCL has | |
| certain limitations when it comes to total command length. We do | |
| what we can to mitigate, but there is the possibility that it's not | |
| enough. Should you run into issues, a very simple solution is to set | |
| yourself up a few logical names for the directory trees you're going | |
| to use. | |
| About debugging | |
| --------------- | |
| If you build for debugging, the default on VMS is that image | |
| activation starts the debugger automatically, giving you a debug | |
| prompt. Unfortunately, this disrupts all other uses, such as running | |
| test programs in the test framework. | |
| Generally speaking, if you build for debugging, only use the programs | |
| directly for debugging. Do not try to use them from a script, such | |
| as running the test suite. | |
| *The following is not available on Alpha* | |
| As a compromise, we're turning off the flag that makes the debugger | |
| start automatically. If there is a program that you need to debug, | |
| you need to turn that flag back on first, for example: | |
| $ set image /flag=call_debug [.test]evp_test.exe | |
| Then just run it and you will find yourself in a debugging session. | |
| When done, we recommend that you turn that flag back off: | |
| $ set image /flag=nocall_debug [.test]evp_test.exe | |
| Checking the distribution | |
| ------------------------- | |
| There have been reports of places where the distribution didn't quite | |
| get through, for example if you've copied the tree from a NFS-mounted | |
| Unix mount point. | |
| The easiest way to check if everything got through as it should is to | |
| check that this file exists: | |
| [.include.openssl]opensslconf^.h.in | |
| The best way to get a correct distribution is to download the gzipped | |
| tar file from ftp://ftp.openssl.org/source/, use GZIP -d to uncompress | |
| it and VMSTAR to unpack the resulting tar file. | |
| Gzip and VMSTAR are available here: | |
| http://antinode.info/dec/index.html#Software | |
| Should you need it, you can find UnZip for VMS here: | |
| http://www.info-zip.org/UnZip.html | |
| How the value of 'arch' is determined | |
| ------------------------------------- | |
| 'arch' is mentioned in INSTALL. It's value is determined like this: | |
| arch = f$edit( f$getsyi( "arch_name"), "upcase") |