]>
Commit | Line | Data |
---|---|---|
dc589dae | 1 | Notes for the OpenVMS platform |
1dc1ea18 | 2 | ============================== |
2acd8ec7 | 3 | |
dc589dae DMSP |
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) | |
2acd8ec7 | 10 | |
dc589dae DMSP |
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: | |
2acd8ec7 RL |
16 | |
17 | * At least ODS-5 disk organization for source and build. | |
18 | Installation can be done on any existing disk organization. | |
19 | ||
dc589dae DMSP |
20 | About ANSI C compiler |
21 | --------------------- | |
2acd8ec7 | 22 | |
dc589dae DMSP |
23 | An ANSI C compiled is needed among other things. This means that |
24 | VAX C is not and will not be supported. | |
2acd8ec7 | 25 | |
dc589dae DMSP |
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. | |
7793e174 | 29 | |
dc589dae DMSP |
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. | |
2acd8ec7 | 33 | |
dc589dae DMSP |
34 | About ODS-5 directory names and Perl |
35 | ------------------------------------ | |
e8fd2a4c | 36 | |
dc589dae DMSP |
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. | |
e8fd2a4c | 44 | |
dc589dae DMSP |
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): | |
e8fd2a4c | 48 | |
df443918 | 49 | $ rename openssl-1^.1^.0.DIR openssl-1_1_0.DIR |
e8fd2a4c | 50 | |
dc589dae DMSP |
51 | About MMS and DCL |
52 | ----------------- | |
b54e35f6 | 53 | |
dc589dae DMSP |
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. | |
b54e35f6 | 60 | |
dc589dae DMSP |
61 | About debugging |
62 | --------------- | |
1ae4c07e | 63 | |
dc589dae DMSP |
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. | |
1ae4c07e | 68 | |
dc589dae DMSP |
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. | |
a2880aec | 72 | |
dc589dae | 73 | ### The following is not available on Alpha |
a2880aec | 74 | |
dc589dae DMSP |
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: | |
1ae4c07e RL |
78 | |
79 | $ set image /flag=call_debug [.test]evp_test.exe | |
80 | ||
dc589dae DMSP |
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: | |
1ae4c07e RL |
83 | |
84 | $ set image /flag=nocall_debug [.test]evp_test.exe | |
85 | ||
d500f044 RL |
86 | About assembler acceleration |
87 | ---------------------------- | |
88 | ||
89 | OpenSSL has assembler acceleration for a number of BIGNUM and crypto | |
90 | routines. The VMS config targets tries to look for a selection of | |
91 | assemblers and will use what they find. If none of the assemblers are | |
92 | found, OpenSSL will be built as if `no-asm` was configured. | |
93 | ||
94 | ### For Itanium / IA64 / I64 | |
95 | ||
96 | - There is only one assembler, a port of Intel's `ias`, found in the | |
97 | HP Open Source Tools CD, available through [DECUSlib](http://www.decuslib.com). | |
98 | It's assumed to be set up as per the instructions, where `disk` and | |
99 | `dir` are expected to be adapted to local conditions: | |
100 | ||
101 | $ ias :== $disk:[dir]iasi64.exe | |
102 | ||
dc589dae DMSP |
103 | Checking the distribution |
104 | ------------------------- | |
2acd8ec7 | 105 | |
dc589dae DMSP |
106 | There have been reports of places where the distribution didn't quite |
107 | get through, for example if you've copied the tree from a NFS-mounted | |
108 | Unix mount point. | |
2acd8ec7 | 109 | |
dc589dae DMSP |
110 | The easiest way to check if everything got through as it should is to |
111 | check that this file exists: | |
2acd8ec7 | 112 | |
d8c1cafb | 113 | [.include.openssl]configuration^.h.in |
2acd8ec7 | 114 | |
dc589dae DMSP |
115 | The best way to get a correct distribution is to download the gzipped |
116 | tar file from ftp://ftp.openssl.org/source/, use `GZIP -d` to uncompress | |
117 | it and `VMSTAR` to unpack the resulting tar file. | |
2acd8ec7 | 118 | |
dc589dae | 119 | Gzip and VMSTAR are available here: |
2acd8ec7 | 120 | |
1dc1ea18 | 121 | <http://antinode.info/dec/index.html#Software> |
2acd8ec7 | 122 | |
dc589dae | 123 | Should you need it, you can find UnZip for VMS here: |
2acd8ec7 | 124 | |
1dc1ea18 | 125 | <http://www.info-zip.org/UnZip.html> |
d8c1cafb RL |
126 | |
127 | How the value of 'arch' is determined | |
128 | ------------------------------------- | |
129 | ||
130 | 'arch' is mentioned in INSTALL. It's value is determined like this: | |
131 | ||
132 | arch = f$edit( f$getsyi( "arch_name"), "upcase") |