Skip to content

Commit 4022190

Browse files
authored
various cleanup in README.OpenSSL.md
replaces d26dfb1 (part of #771)
1 parent e2a413e commit 4022190

File tree

1 file changed

+63
-69
lines changed

1 file changed

+63
-69
lines changed

README.OpenSSL.md

Lines changed: 63 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -3,126 +3,120 @@ Virtuoso and OpenSSL
33

44
*Copyright (C) 1998-2019 OpenLink Software <[email protected]>*
55

6-
Virtuoso Open Source Edition uses the OpenSSL libraries for cryptographic operations as well as
7-
handling both client-side and server-side secure connections for both HTTPS as well as iSQL/ODBC
8-
transport layers.
6+
Virtuoso Open Source Edition uses the OpenSSL libraries for cryptographic
7+
operations as well as handling both client-side and server-side secure
8+
connections for both HTTPS as well as iSQL/ODBC transport layers.
99

10-
Virtuoso can be compiled against OpenSSL 0.9.8i upto OpenSSL v1.0.2p which is the current
11-
Long Term Support (LTS) release of OpenSSL.
10+
Virtuoso can be compiled against OpenSSL 0.9.8i up to OpenSSL v1.0.2p which
11+
is the current Long Term Support (LTS) release of OpenSSL.
1212

13-
The development team is currently working on enhancing the code to support OpenSSL v1.1.x but as
14-
this version uses a newer API that is incompatible with the previous versions this work is not yet
15-
completed.
13+
The OpenSSL v1.1.x API is incompatible with previous versions. The Virtuoso
14+
development team is currently working on enhancing the Virtuoso code to
15+
support the new API, but this work is not yet completed.
1616

17-
Many new Linux distributions are including OpenSSL v1.1.0 as their base version, although they
18-
also supply an OpenSSL v1.0.x development kit for backward compatibility.
17+
Many new Linux distributions are including OpenSSL v1.1.0 as their base
18+
version, although they typically also supply an OpenSSL v1.0.x development
19+
kit for backward compatibility.
1920

20-
Other operating systems like Mac OS X or Windows do not supply OpenSSL at all, but require third
21-
party ports in order to work.
21+
Other operating systems like macOS and Windows do not supply OpenSSL at all,
22+
but require third party ports for this support.
2223

23-
During configure time Virtuoso will check the availability and version of the installed OpenSSL
24-
development headers and libraries on your system and will report any issues it finds.
24+
During `configure` time, Virtuoso will check the availability and version of
25+
the installed OpenSSL development headers and libraries on your system and
26+
will report any issues it finds.
2527

26-
Mac OS X
27-
--------
28-
As Apple is actively deprecating OpenSSL from Mac OS X, your system either has a pretty old version
29-
of openssl, and in case of High Sierra (10.13) Apple removed the required include files from the
30-
/usr/include/openssl directory completely.
28+
macOS
29+
-----
30+
Apple is actively deprecating OpenSSL from macOS, so your system likely
31+
has a pretty old version of `openssl`, and as of High Sierra (10.13),
32+
Apple completely removed the required `include` files from the
33+
`/usr/include/openssl` directory.
3134

3235
We recommend installing the OpenSSL 1.0.2 library using:
33-
```
36+
3437
$ brew install openssl
35-
```
3638

37-
And at configure time you can use the following:
38-
```
39+
At configure time, you can then use the following:
40+
3941
$ sh ./configure \
40-
..... \
4142
..... \
4243
--enable-openssl=/usr/local/opt/openssl/
43-
```
44-
45-
More information on porting VOS on Mac OS X can be found in [README.MACOSX.md](README.MACOSX.md)
4644

45+
More information on porting VOS to macOS can be found in
46+
[`README.MACOSX.md`](README.MACOSX.md).
4747

4848
Ubuntu 18.04 LTS
4949
----------------
50-
Ubuntu installs both an OpenSSL v1.0.2 runtime as well as an OpenSSL v1.1.0 runtime in the form
51-
of shared libraries which are installed side-by-side on the system.
50+
Ubuntu installs both an OpenSSL v1.0.2 runtime and an OpenSSL v1.1.0 runtime
51+
in the form of shared libraries which are installed side-by-side on the system.
52+
53+
A developer can choose to install either the 1.0 or the 1.1 software
54+
development kit (SDK) which includes the necessary header files and
55+
development libraries.
5256

53-
A developer can choose to install either the 1.0 or the 1.1 software development kit (SDK) which
54-
includes the necessary header files and development libraries.
57+
To build VOS, you need to run the following command which will uninstall
58+
the 1.1 SDK and replace it with the 1.0 SDK.
5559

56-
For building VOS you need to run the following command which will uninstall the 1.1 SDK and
57-
replace it with the 1.0 SDK.
58-
```
5960
$ sudo apt-get install libssl1.0-dev
60-
```
6161

62-
Since Ubuntu installs runtime libraries for both versions of OpenSSL side-by-side, after compiling
63-
and installing VOS on your system, you can re-install the newer 1.1 SDK for compiling other programs
64-
by running:
65-
```
66-
$ sudo apt-get install libssl-dev
67-
```
62+
Since Ubuntu installs runtime libraries for both versions of OpenSSL
63+
side-by-side, after compiling and installing VOS on your system, you can
64+
re-install the newer 1.1 SDK for compiling other programs by running:
6865

66+
$ sudo apt-get install libssl-dev
6967

7068
Debian 9
7169
--------
7270
Debian uses the same package names as Ubuntu:
73-
```
71+
7472
$ sudo apt-get install libssl1.0-dev
75-
```
7673

7774
And to switch back:
78-
```
75+
7976
$ sudo apt-get install libssl-dev
80-
```
8177

8278
Fedora 28
8379
---------
8480
Fedora 28 also has separate SDKs for both versions of OpenSSL.
8581

8682
To install the 1.0 SDK use:
87-
```
83+
8884
$ sudo dnf install --allowerasing compat-openssl10-devel
89-
```
9085

9186
To switch back to the 1.1 SDK use:
92-
```
93-
$ sudo dnf install --allowerasign openssl-devel
94-
```
9587

88+
$ sudo dnf install --allowerasign openssl-devel
9689

9790
Windows
9891
-------
99-
The OpenSSL library needs to be built as a static library using Visual Studio.
100-
The detailed instructions for building OpenSSL can be found in the INSTALL.W32
101-
document in the OpenSSL source distribution.
92+
The OpenSSL library needs to be built as a static library using Visual
93+
Studio. Detailed instructions for building OpenSSL can be found in the
94+
`INSTALL.W32` document in the OpenSSL source distribution.
10295

103-
**IMPORTANT**: By default the OpenSSL library is built using MSVCRT compile flags,
104-
leading to conflicts when linking the Virtuoso Open-Source binaries. To resolve
105-
the conflicts, after unpacking the OpenSSL source tarball, you need to edit the
106-
/util/pl/VC-32.pl and change the "cflags" to use the "/MT" and "/MTd" compiler
107-
switches instead of the "/MD" and "/MDd".
96+
**IMPORTANT**: By default the OpenSSL library is built using `MSVCRT` compile
97+
flags, leading to conflicts when linking the Virtuoso Open-Source binaries.
98+
To resolve the conflicts, after unpacking the OpenSSL source tarball, you
99+
need to edit `/util/pl/VC-32.pl`, and change the `cflags` to use the `/MT`
100+
and `/MTd` compiler switches instead of the `/MD` and `/MDd`.
108101

109-
Finally the libeay32.lib and ssleay32.lib from /out32 and files from /inc32/
110-
openssl must be copied to the <Virtuoso Open Source dir>/win32/openssl/
102+
Finally, the `libeay32.lib` and `ssleay32.lib` from `/out32` and files from
103+
`/inc32/openssl` must be copied to `<Virtuoso Open Source dir>/win32/openssl/`.
111104

112-
More notes on porting Virtuoso on Windows can be found in [README.WINDOWS](README.WINDOWS).
105+
More notes on porting Virtuoso on Windows can be found in
106+
[`README.WINDOWS`](README.WINDOWS).
113107

114108

115109
Custom installation
116110
-------------------
117-
If you have performed a custom build of OpenSSL on your own system and/or if OpenSSL is installed
118-
in a non-standard location, you can use the following flag during configure to point the build
119-
system to the location where your OpenSSL headers and libraries are installed:
120-
```
111+
If you have performed a custom build of OpenSSL on your own system, and/or
112+
if OpenSSL is installed in a non-standard location, you can use the
113+
`--enable-openssl` flag during `configure` to point the build system to the
114+
location where your OpenSSL headers and libraries are installed:
115+
121116
$ sh ./configure \
122-
..... \
123117
..... \
124118
--enable-openssl=/opt/openssl/
125-
```
126119

127-
The configure script will check /opt/openssl/include for the required header files and
128-
/opt/openssl/lib for the libraries, before any standard locations embedded in the compiler.
120+
The `configure` script will also check `/opt/openssl/include` for the
121+
required header files and `/opt/openssl/lib` for the libraries, before any
122+
standard locations embedded in the compiler.

0 commit comments

Comments
 (0)