1 | Notes for the OpenVMS platform
|
---|
2 | ==============================
|
---|
3 |
|
---|
4 | - [Requirement details](#requirement-details)
|
---|
5 | - [About ANSI C compiler](#about-ansi-c-compiler)
|
---|
6 | - [About ODS-5 directory names and Perl](#about-ods-5-directory-names-and-perl)
|
---|
7 | - [About MMS and DCL](#about-mms-and-dcl)
|
---|
8 | - [About debugging](#about-debugging)
|
---|
9 | - [Checking the distribution](#checking-the-distribution)
|
---|
10 |
|
---|
11 | Requirement details
|
---|
12 | -------------------
|
---|
13 |
|
---|
14 | In addition to the requirements and instructions listed
|
---|
15 | in [INSTALL.md](INSTALL.md), this are required as well:
|
---|
16 |
|
---|
17 | * At least ODS-5 disk organization for source and build.
|
---|
18 | Installation can be done on any existing disk organization.
|
---|
19 |
|
---|
20 | About ANSI C compiler
|
---|
21 | ---------------------
|
---|
22 |
|
---|
23 | An ANSI C compiled is needed among other things. This means that
|
---|
24 | VAX C is not and will not be supported.
|
---|
25 |
|
---|
26 | We have only tested with DEC C (aka HP VMS C / VSI C) and require
|
---|
27 | version 7.1 or later. Compiling with a different ANSI C compiler may
|
---|
28 | require some work.
|
---|
29 |
|
---|
30 | Please avoid using C RTL feature logical names `DECC$*` when building
|
---|
31 | and testing OpenSSL. Most of all, they can be disruptive when
|
---|
32 | running the tests, as they affect the Perl interpreter.
|
---|
33 |
|
---|
34 | About ODS-5 directory names and Perl
|
---|
35 | ------------------------------------
|
---|
36 |
|
---|
37 | It seems that the perl function canonpath() in the `File::Spec` module
|
---|
38 | doesn't treat file specifications where the last directory name
|
---|
39 | contains periods very well. Unfortunately, some versions of VMS tar
|
---|
40 | will keep the periods in the OpenSSL source directory instead of
|
---|
41 | converting them to underscore, thereby leaving your source in
|
---|
42 | something like `[.openssl-1^.1^.0]`. This will lead to issues when
|
---|
43 | configuring and building OpenSSL.
|
---|
44 |
|
---|
45 | We have no replacement for Perl's canonpath(), so the best workaround
|
---|
46 | for now is to rename the OpenSSL source directory, as follows (please
|
---|
47 | adjust for the actual source directory name you have):
|
---|
48 |
|
---|
49 | $ rename openssl-1^.1^.0.DIR openssl-1_1_0.DIR
|
---|
50 |
|
---|
51 | About MMS and DCL
|
---|
52 | -----------------
|
---|
53 |
|
---|
54 | MMS has certain limitations when it comes to line length, and DCL has
|
---|
55 | certain limitations when it comes to total command length. We do
|
---|
56 | what we can to mitigate, but there is the possibility that it's not
|
---|
57 | enough. Should you run into issues, a very simple solution is to set
|
---|
58 | yourself up a few logical names for the directory trees you're going
|
---|
59 | to use.
|
---|
60 |
|
---|
61 | About debugging
|
---|
62 | ---------------
|
---|
63 |
|
---|
64 | If you build for debugging, the default on VMS is that image
|
---|
65 | activation starts the debugger automatically, giving you a debug
|
---|
66 | prompt. Unfortunately, this disrupts all other uses, such as running
|
---|
67 | test programs in the test framework.
|
---|
68 |
|
---|
69 | Generally speaking, if you build for debugging, only use the programs
|
---|
70 | directly for debugging. Do not try to use them from a script, such
|
---|
71 | as running the test suite.
|
---|
72 |
|
---|
73 | ### The following is not available on Alpha
|
---|
74 |
|
---|
75 | As a compromise, we're turning off the flag that makes the debugger
|
---|
76 | start automatically. If there is a program that you need to debug,
|
---|
77 | you need to turn that flag back on first, for example:
|
---|
78 |
|
---|
79 | $ set image /flag=call_debug [.test]evp_test.exe
|
---|
80 |
|
---|
81 | Then just run it and you will find yourself in a debugging session.
|
---|
82 | When done, we recommend that you turn that flag back off:
|
---|
83 |
|
---|
84 | $ set image /flag=nocall_debug [.test]evp_test.exe
|
---|
85 |
|
---|
86 | Checking the distribution
|
---|
87 | -------------------------
|
---|
88 |
|
---|
89 | There have been reports of places where the distribution didn't quite
|
---|
90 | get through, for example if you've copied the tree from a NFS-mounted
|
---|
91 | Unix mount point.
|
---|
92 |
|
---|
93 | The easiest way to check if everything got through as it should is to
|
---|
94 | check that this file exists:
|
---|
95 |
|
---|
96 | [.include.openssl]configuration^.h.in
|
---|
97 |
|
---|
98 | The best way to get a correct distribution is to download the gzipped
|
---|
99 | tar file from ftp://ftp.openssl.org/source/, use `GZIP -d` to uncompress
|
---|
100 | it and `VMSTAR` to unpack the resulting tar file.
|
---|
101 |
|
---|
102 | Gzip and VMSTAR are available here:
|
---|
103 |
|
---|
104 | <http://antinode.info/dec/index.html#Software>
|
---|
105 |
|
---|
106 | Should you need it, you can find UnZip for VMS here:
|
---|
107 |
|
---|
108 | <http://www.info-zip.org/UnZip.html>
|
---|
109 |
|
---|
110 | How the value of 'arch' is determined
|
---|
111 | -------------------------------------
|
---|
112 |
|
---|
113 | 'arch' is mentioned in INSTALL. It's value is determined like this:
|
---|
114 |
|
---|
115 | arch = f$edit( f$getsyi( "arch_name"), "upcase")
|
---|