More tweaks to the installation instructions
A few things were out of date and a few things were missing. Also some formatting updates. Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
a5aa63a456
commit
d5957691f2
1 changed files with 79 additions and 78 deletions
157
INSTALL
157
INSTALL
|
@ -1,13 +1,13 @@
|
|||
|
||||
INSTALLATION ON THE UNIX PLATFORM
|
||||
---------------------------------
|
||||
OPENSSL INSTALLATION
|
||||
--------------------
|
||||
|
||||
[Installation on DOS (with djgpp), Windows, MacOS (before MacOS X)
|
||||
[Installation on DOS (with djgpp), MacOS (before MacOS X)
|
||||
and NetWare is described in INSTALL.DJGPP, INSTALL.MacOS
|
||||
and INSTALL.NW.
|
||||
|
||||
This document describes installation on the main supported operating
|
||||
systems, currently the Unix family and OpenVMS.]
|
||||
systems, currently the Linux/Unix family, OpenVMS and Windows.]
|
||||
|
||||
To install OpenSSL, you will need:
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
* Perl 5 with core modules (please read README.PERL)
|
||||
* The perl module Text::Template (please read README.PERL)
|
||||
* an ANSI C compiler
|
||||
* a development environment in form of development libraries and C
|
||||
* a development environment in the form of development libraries and C
|
||||
header files
|
||||
* a supported operating system
|
||||
|
||||
|
@ -76,83 +76,91 @@
|
|||
There are several options to ./config (or ./Configure) to customize
|
||||
the build:
|
||||
|
||||
--prefix=DIR The top of the installation directory tree. Defaults are:
|
||||
--prefix=DIR The top of the installation directory tree. Defaults are:
|
||||
|
||||
Unix: /usr/local
|
||||
OpenVMS: SYS$COMMON:[OPENSSL-'version']
|
||||
Unix: /usr/local
|
||||
OpenVMS: SYS$COMMON:[OPENSSL-'version']
|
||||
|
||||
--openssldir=DIR Directory for OpenSSL configuration files, and also the
|
||||
default certificate and key store. Defaults are:
|
||||
default certificate and key store. Defaults are:
|
||||
|
||||
Unix: PREFIX/ssl (PREFIX is given by --prefix)
|
||||
OpenVMS: SYS$COMMON:[SSL]
|
||||
Unix: PREFIX/ssl (PREFIX is given by --prefix)
|
||||
OpenVMS: SYS$COMMON:[SSL]
|
||||
|
||||
no-autoalginit Don't automatically load all supported ciphers and digests.
|
||||
Typically OpenSSL will make available all of its supported
|
||||
ciphers and digests. For a statically linked application this
|
||||
may be undesirable if small executable size is an objective.
|
||||
This only affects libcrypto. Ciphers and digests will have to be
|
||||
loaded manually using EVP_add_cipher() and EVP_add_digest() if
|
||||
this option is used.
|
||||
--api=x.y.z Don't build with support for deprecated APIs below the
|
||||
specified version number. For example "--api=1.1.0" will
|
||||
remove support for all APIS that were deprecated in OpenSSL
|
||||
version 1.1.0 or below.
|
||||
|
||||
no-autoerrinit Don't automatically load all libcrypto/libssl error strings.
|
||||
Typically OpenSSL will automatically load human readable error
|
||||
strings. For a statically linked application this may be
|
||||
undesirable if small executable size is an objective.
|
||||
no-deprecated Don't build with support for any deprecated APIs. This is the
|
||||
same as using "--api" and supplying the latest version
|
||||
number.
|
||||
|
||||
no-threads Don't try to build with support for multi-threaded
|
||||
applications.
|
||||
no-autoalginit Don't automatically load all supported ciphers and digests.
|
||||
Typically OpenSSL will make available all of its supported
|
||||
ciphers and digests. For a statically linked application this
|
||||
may be undesirable if small executable size is an objective.
|
||||
This only affects libcrypto. Ciphers and digests will have to
|
||||
be loaded manually using EVP_add_cipher() and
|
||||
EVP_add_digest() if this option is used.
|
||||
|
||||
threads Build with support for multi-threaded applications.
|
||||
This will usually require additional system-dependent options!
|
||||
See "Note on multi-threading" below.
|
||||
no-autoerrinit Don't automatically load all libcrypto/libssl error strings.
|
||||
Typically OpenSSL will automatically load human readable
|
||||
error strings. For a statically linked application this may
|
||||
be undesirable if small executable size is an objective.
|
||||
|
||||
no-zlib Don't try to build with support for zlib compression and
|
||||
decompression.
|
||||
no-threads Don't try to build with support for multi-threaded
|
||||
applications.
|
||||
|
||||
zlib Build with support for zlib compression/decompression.
|
||||
threads Build with support for multi-threaded applications.
|
||||
This will usually require additional system-dependent
|
||||
options! See "Note on multi-threading" below.
|
||||
|
||||
zlib-dynamic Like "zlib", but has OpenSSL load the zlib library dynamically
|
||||
when needed. This is only supported on systems where loading
|
||||
of shared libraries is supported. This is the default choice.
|
||||
no-zlib Don't try to build with support for zlib compression and
|
||||
decompression.
|
||||
|
||||
no-shared Don't try to create shared libraries.
|
||||
zlib Build with support for zlib compression/decompression.
|
||||
|
||||
shared In addition to the usual static libraries, create shared
|
||||
libraries on platforms where it's supported. See "Note on
|
||||
shared libraries" below.
|
||||
zlib-dynamic Like "zlib", but has OpenSSL load the zlib library
|
||||
dynamically when needed. This is only supported on systems
|
||||
where loading of shared libraries is supported. This is the
|
||||
default choice.
|
||||
|
||||
no-asm Do not use assembler code.
|
||||
no-shared Don't try to create shared libraries.
|
||||
|
||||
386 On Intel hardware, use the 80386 instruction set only
|
||||
(the default x86 code is more efficient, but requires at
|
||||
least a 486). Note: Use compiler flags for any other CPU
|
||||
specific configuration, e.g. "-m32" to build x86 code on
|
||||
an x64 system.
|
||||
shared In addition to the usual static libraries, create shared
|
||||
libraries on platforms where it's supported. See "Note on
|
||||
shared libraries" below.
|
||||
|
||||
no-sse2 Exclude SSE2 code pathes. Normally SSE2 extension is
|
||||
detected at run-time, but the decision whether or not the
|
||||
machine code will be executed is taken solely on CPU
|
||||
capability vector. This means that if you happen to run OS
|
||||
kernel which does not support SSE2 extension on Intel P4
|
||||
processor, then your application might be exposed to
|
||||
"illegal instruction" exception. There might be a way
|
||||
to enable support in kernel, e.g. FreeBSD kernel can be
|
||||
compiled with CPU_ENABLE_SSE, and there is a way to
|
||||
disengage SSE2 code pathes upon application start-up,
|
||||
but if you aim for wider "audience" running such kernel,
|
||||
consider no-sse2. Both 386 and no-asm options above imply
|
||||
no-sse2.
|
||||
no-asm Do not use assembler code.
|
||||
|
||||
no-<cipher> Build without the specified cipher (bf, cast, des, dh, dsa,
|
||||
hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
|
||||
The crypto/<cipher> directory can be removed after running
|
||||
"make depend".
|
||||
386 On Intel hardware, use the 80386 instruction set only
|
||||
(the default x86 code is more efficient, but requires at
|
||||
least a 486). Note: Use compiler flags for any other CPU
|
||||
specific configuration, e.g. "-m32" to build x86 code on
|
||||
an x64 system.
|
||||
|
||||
-Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
|
||||
be passed through to the compiler to allow you to
|
||||
define preprocessor symbols, specify additional libraries,
|
||||
library directories or other compiler options.
|
||||
no-sse2 Exclude SSE2 code pathes. Normally SSE2 extension is
|
||||
detected at run-time, but the decision whether or not the
|
||||
machine code will be executed is taken solely on CPU
|
||||
capability vector. This means that if you happen to run OS
|
||||
kernel which does not support SSE2 extension on Intel P4
|
||||
processor, then your application might be exposed to
|
||||
"illegal instruction" exception. There might be a way
|
||||
to enable support in kernel, e.g. FreeBSD kernel can be
|
||||
compiled with CPU_ENABLE_SSE, and there is a way to
|
||||
disengage SSE2 code pathes upon application start-up,
|
||||
but if you aim for wider "audience" running such kernel,
|
||||
consider no-sse2. Both 386 and no-asm options above imply
|
||||
no-sse2.
|
||||
|
||||
no-<alg> Build without the specified algorithm (bf, cast, des, dh,
|
||||
dsa, hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
|
||||
|
||||
-Dxxx, -lxxx, These system specific options will be passed through to the
|
||||
-Lxxx, -fxxx, compiler to allow you to define preprocessor symbols, specify
|
||||
-mXXX, -Kxxx additional libraries, library directories or other compiler
|
||||
options.
|
||||
|
||||
|
||||
Installation in Detail
|
||||
|
@ -272,9 +280,9 @@
|
|||
report the problem to <rt@openssl.org> (note that your message
|
||||
will be recorded in the request tracker publicly readable at
|
||||
https://www.openssl.org/community/index.html#bugs and will be
|
||||
forwarded to a public mailing list). Include the output of "make
|
||||
report" in your message. Please check out the request tracker. Maybe
|
||||
the bug was already reported or has already been fixed.
|
||||
forwarded to a public mailing list). Please check out the request
|
||||
tracker. Maybe the bug was already reported or has already been
|
||||
fixed.
|
||||
|
||||
[If you encounter assembler error messages, try the "no-asm"
|
||||
configuration option as an immediate fix.]
|
||||
|
@ -325,11 +333,7 @@
|
|||
compiler optimization flags from the CFLAGS line in Makefile and
|
||||
run "make clean; make" or corresponding.
|
||||
|
||||
Please send a bug report to <openssl-bugs@openssl.org>, and when
|
||||
you do, please run the following and include the output in your
|
||||
report:
|
||||
|
||||
$ make report
|
||||
Please send a bug reports to <rt@openssl.org>.
|
||||
|
||||
4. If everything tests ok, install OpenSSL with
|
||||
|
||||
|
@ -352,7 +356,7 @@
|
|||
lib/engines Contains the OpenSSL dynamically loadable engines.
|
||||
share/man/{man1,man3,man5,man7}
|
||||
Contains the OpenSSL man-pages.
|
||||
share/doc/openssl/html{man1,man3,man5,man7}
|
||||
share/doc/openssl/html/{man1,man3,man5,man7}
|
||||
Contains the HTML rendition of the man-pages.
|
||||
|
||||
OpenVMS ('arch' is replaced with the architecture name, "Alpha"
|
||||
|
@ -443,13 +447,10 @@
|
|||
use them would be to conserve memory on systems where several programs
|
||||
are using OpenSSL.
|
||||
|
||||
For some systems, the OpenSSL Configure script knows what is needed to
|
||||
For most systems, the OpenSSL Configure script knows what is needed to
|
||||
build shared libraries for libcrypto and libssl. On these systems,
|
||||
the shared libraries are currently not created by default, but giving
|
||||
the option "shared" will get them created. This method supports Makefile
|
||||
targets for shared library creation, like linux-shared. Those targets
|
||||
can currently be used on their own just as well, but this is expected
|
||||
to change in future versions of OpenSSL.
|
||||
the option "shared" will get them created.
|
||||
|
||||
Note on random number generation
|
||||
--------------------------------
|
||||
|
|
Loading…
Reference in a new issue