1b0d17251SchristosNotes for the OpenVMS platform 2b0d17251Schristos============================== 3b0d17251Schristos 4b0d17251Schristos - [Requirement details](#requirement-details) 5b0d17251Schristos - [About ANSI C compiler](#about-ansi-c-compiler) 6b0d17251Schristos - [About ODS-5 directory names and Perl](#about-ods-5-directory-names-and-perl) 7b0d17251Schristos - [About MMS and DCL](#about-mms-and-dcl) 8b0d17251Schristos - [About debugging](#about-debugging) 9b0d17251Schristos - [Checking the distribution](#checking-the-distribution) 10b0d17251Schristos 11b0d17251SchristosRequirement details 12b0d17251Schristos------------------- 13b0d17251Schristos 14b0d17251SchristosIn addition to the requirements and instructions listed 15b0d17251Schristosin [INSTALL.md](INSTALL.md), this are required as well: 16b0d17251Schristos 17b0d17251Schristos * At least ODS-5 disk organization for source and build. 18b0d17251Schristos Installation can be done on any existing disk organization. 19b0d17251Schristos 20b0d17251SchristosAbout ANSI C compiler 21b0d17251Schristos--------------------- 22b0d17251Schristos 23b0d17251SchristosAn ANSI C compiled is needed among other things. This means that 24b0d17251SchristosVAX C is not and will not be supported. 25b0d17251Schristos 26b0d17251SchristosWe have only tested with DEC C (aka HP VMS C / VSI C) and require 27b0d17251Schristosversion 7.1 or later. Compiling with a different ANSI C compiler may 28b0d17251Schristosrequire some work. 29b0d17251Schristos 30b0d17251SchristosPlease avoid using C RTL feature logical names `DECC$*` when building 31b0d17251Schristosand testing OpenSSL. Most of all, they can be disruptive when 32b0d17251Schristosrunning the tests, as they affect the Perl interpreter. 33b0d17251Schristos 34b0d17251SchristosAbout ODS-5 directory names and Perl 35b0d17251Schristos------------------------------------ 36b0d17251Schristos 37b0d17251SchristosIt seems that the perl function canonpath() in the `File::Spec` module 38b0d17251Schristosdoesn't treat file specifications where the last directory name 39b0d17251Schristoscontains periods very well. Unfortunately, some versions of VMS tar 40b0d17251Schristoswill keep the periods in the OpenSSL source directory instead of 41b0d17251Schristosconverting them to underscore, thereby leaving your source in 42b0d17251Schristossomething like `[.openssl-1^.1^.0]`. This will lead to issues when 43b0d17251Schristosconfiguring and building OpenSSL. 44b0d17251Schristos 45b0d17251SchristosWe have no replacement for Perl's canonpath(), so the best workaround 46b0d17251Schristosfor now is to rename the OpenSSL source directory, as follows (please 47b0d17251Schristosadjust for the actual source directory name you have): 48b0d17251Schristos 49b0d17251Schristos $ rename openssl-1^.1^.0.DIR openssl-1_1_0.DIR 50b0d17251Schristos 51b0d17251SchristosAbout MMS and DCL 52b0d17251Schristos----------------- 53b0d17251Schristos 54b0d17251SchristosMMS has certain limitations when it comes to line length, and DCL has 55b0d17251Schristoscertain limitations when it comes to total command length. We do 56b0d17251Schristoswhat we can to mitigate, but there is the possibility that it's not 57b0d17251Schristosenough. Should you run into issues, a very simple solution is to set 58b0d17251Schristosyourself up a few logical names for the directory trees you're going 59b0d17251Schristosto use. 60b0d17251Schristos 61b0d17251SchristosAbout debugging 62b0d17251Schristos--------------- 63b0d17251Schristos 64b0d17251SchristosIf you build for debugging, the default on VMS is that image 65b0d17251Schristosactivation starts the debugger automatically, giving you a debug 66b0d17251Schristosprompt. Unfortunately, this disrupts all other uses, such as running 67b0d17251Schristostest programs in the test framework. 68b0d17251Schristos 69b0d17251SchristosGenerally speaking, if you build for debugging, only use the programs 70b0d17251Schristosdirectly for debugging. Do not try to use them from a script, such 71b0d17251Schristosas running the test suite. 72b0d17251Schristos 73b0d17251Schristos### The following is not available on Alpha 74b0d17251Schristos 75b0d17251SchristosAs a compromise, we're turning off the flag that makes the debugger 76b0d17251Schristosstart automatically. If there is a program that you need to debug, 77b0d17251Schristosyou need to turn that flag back on first, for example: 78b0d17251Schristos 79b0d17251Schristos $ set image /flag=call_debug [.test]evp_test.exe 80b0d17251Schristos 81b0d17251SchristosThen just run it and you will find yourself in a debugging session. 82b0d17251SchristosWhen done, we recommend that you turn that flag back off: 83b0d17251Schristos 84b0d17251Schristos $ set image /flag=nocall_debug [.test]evp_test.exe 85b0d17251Schristos 86*4170684fSchristosAbout assembler acceleration 87*4170684fSchristos---------------------------- 88*4170684fSchristos 89*4170684fSchristosOpenSSL has assembler acceleration for a number of BIGNUM and crypto 90*4170684fSchristosroutines. The VMS config targets tries to look for a selection of 91*4170684fSchristosassemblers and will use what they find. If none of the assemblers are 92*4170684fSchristosfound, OpenSSL will be built as if `no-asm` was configured. 93*4170684fSchristos 94*4170684fSchristos### For Itanium / IA64 / I64 95*4170684fSchristos 96*4170684fSchristos- There is only one assembler, a port of Intel's `ias`, found in the 97*4170684fSchristos HP Open Source Tools CD, available through [DECUSlib](http://www.decuslib.com). 98*4170684fSchristos It's assumed to be set up as per the instructions, where `disk` and 99*4170684fSchristos `dir` are expected to be adapted to local conditions: 100*4170684fSchristos 101*4170684fSchristos $ ias :== $disk:[dir]iasi64.exe 102*4170684fSchristos 103b0d17251SchristosChecking the distribution 104b0d17251Schristos------------------------- 105b0d17251Schristos 106b0d17251SchristosThere have been reports of places where the distribution didn't quite 107b0d17251Schristosget through, for example if you've copied the tree from a NFS-mounted 108b0d17251SchristosUnix mount point. 109b0d17251Schristos 110b0d17251SchristosThe easiest way to check if everything got through as it should is to 111b0d17251Schristoscheck that this file exists: 112b0d17251Schristos 113b0d17251Schristos [.include.openssl]configuration^.h.in 114b0d17251Schristos 115b0d17251SchristosThe best way to get a correct distribution is to download the gzipped 116b0d17251Schristostar file from ftp://ftp.openssl.org/source/, use `GZIP -d` to uncompress 117b0d17251Schristosit and `VMSTAR` to unpack the resulting tar file. 118b0d17251Schristos 119b0d17251SchristosGzip and VMSTAR are available here: 120b0d17251Schristos 121b0d17251Schristos <http://antinode.info/dec/index.html#Software> 122b0d17251Schristos 123b0d17251SchristosShould you need it, you can find UnZip for VMS here: 124b0d17251Schristos 125b0d17251Schristos <http://www.info-zip.org/UnZip.html> 126b0d17251Schristos 127b0d17251Schristos How the value of 'arch' is determined 128b0d17251Schristos ------------------------------------- 129b0d17251Schristos 130b0d17251Schristos 'arch' is mentioned in INSTALL. It's value is determined like this: 131b0d17251Schristos 132b0d17251Schristos arch = f$edit( f$getsyi( "arch_name"), "upcase") 133