Bring style of INSTALL* documents in sync with README file

and fix some inconsistencies.
This commit is contained in:
Ralf S. Engelschall 1999-03-22 15:36:37 +00:00
parent e42263c226
commit 4109b97c4b
2 changed files with 145 additions and 158 deletions

150
INSTALL
View File

@ -1,5 +1,6 @@
Installing OpenSSL on Unix
-------------------------- INSTALLATION ON THE UNIX PLATFORM
---------------------------------
[For instructions for compiling OpenSSL on Windows systems, see INSTALL.W32]. [For instructions for compiling OpenSSL on Windows systems, see INSTALL.W32].
@ -7,70 +8,64 @@ To install OpenSSL, you will need:
* Perl * Perl
* C compiler * C compiler
* A supported operating system * A supported Unix operating system
Quick Start Quick Start
----------- -----------
If you want to just get on with it, do: If you want to just get on with it, do:
sh config [if this fails, go to step 1b below] $ ./config [if this fails, go to step 1b below]
make $ make
make rehash $ make rehash
make test $ make test
make install $ make install
This will build and install OpenSSL in the default location, which is This will build and install OpenSSL in the default location, which is (for
/usr/local/ssl. If you want to install it anywhere else, do this historical reasons) /usr/local/ssl. If you want to install it anywhere else,
after running `sh config': do this after running `sh config':
perl util/ssldir.pl /new/install/path $ perl util/ssldir.pl /new/install/path
If anything goes wrong, follow the detailed instructions below. If If anything goes wrong, follow the detailed instructions below. If your
your operating system is not (yet) supported by OpenSSL, see the operating system is not (yet) supported by OpenSSL, see the section on
section on porting to a new system. porting to a new system.
Installation in Detail Installation in Detail
---------------------- ----------------------
1a. Configure OpenSSL for your operation system automatically 1a. Configure OpenSSL for your operation system automatically:
Run $ ./config
sh config This guesses at your operating system (and compiler, if necessary) and
configures OpenSSL based on this guess. Check the first line of output to
This guesses at your operating system (and compiler, if see if it guessed correctly. If it did not get it correct or you want to
necessary) and configures OpenSSL based on this guess. Check the use a different compiler then go to step 1b. Otherwise go to step 2.
first line of output to see if it guessed correctly. If it did
not get it correct or you want to use a different compiler then
go to step 1b. Otherwise go to step 2.
1b. Configure OpenSSL for your operating system manually 1b. Configure OpenSSL for your operating system manually
OpenSSL knows about a range of different operating system, hardware OpenSSL knows about a range of different operating system, hardware and
and compiler combinations. To see the ones it knows about, run compiler combinations. To see the ones it knows about, run
./Configure $ ./Configure
Pick a suitable name from the list that matches your system. For Pick a suitable name from the list that matches your system. For most
most operating systems there is a choice between using "cc" or operating systems there is a choice between using "cc" or "gcc". When
"gcc". you have identified your system (and if necessary compiler) use this name
as the argument to ./Configure. For example, a "linux-elf" user would
run:
When you have identified your system (and if necessary compiler) $ ./Configure linux-elf
use this name as the argument to ./Configure. For example, a
"linux-elf" user would run:
./Configure linux-elf
If your system is not available, you will have to edit the Configure If your system is not available, you will have to edit the Configure
program and add the correct configuration for your system. program and add the correct configuration for your system.
Configure configures various files by converting an existing .org Configure configures various files by converting an existing .org file
file into the real file. If you edit any files, remember that if into the real file. If you edit any files, remember that if a
a corresponding .org file exists them the next time you run corresponding .org file exists them the next time you run ./Configure
./Configure your changes will be lost when the file gets your changes will be lost when the file gets re-created from the .org
re-created from the .org file. The files that are created from file. The files that are created from .org files are:
.org files are:
Makefile.ssl Makefile.ssl
crypto/des/des.h crypto/des/des.h
@ -85,71 +80,56 @@ Installation in Detail
2. Set the install directory 2. Set the install directory
If the install directory will be the default of /usr/local/ssl, If the install directory will be the default of /usr/local/ssl, skip to
skip to the next stage. Otherwise, run the next stage. Otherwise, run
perl util/ssldir.pl /new/install/path $ perl util/ssldir.pl /new/install/path
This configures the installation location into the "install" This configures the installation location into the "install" target of
target of the top-level Makefile, and also updates some defines the top-level Makefile, and also updates some defines in an include file
in an include file so that the default certificate directory is so that the default certificate directory is under the proper
under the proper installation directory. It also updates a few installation directory. It also updates a few utility files used in the
utility files used in the build process. build process.
3. Build OpenSSL 3. Build OpenSSL by running:
Now run $ make
make This will build the OpenSSL libraries (libcrypto.a and libssl.a) and the
OpenSSL binary ("openssl"). The libraries will be built in the top-level
directory, and the binary will be in the "apps" directory.
This will build the OpenSSL libraries (libcrypto.a and libssl.a) 4. After a successful build, the libraries should be tested. Run:
and the OpenSSL binary ("openssl"). The libraries will be built
in the top-level directory, and the binary will be in the "apps"
directory.
4. After a successful build, the libraries should be tested. Run $ make rehash
$ make test
make rehash (The first line makes the test certificates in the "certs" directory
make test accessable via an hash name, which is required for some of the tests).
(The first line makes the test certificates in the "certs"
directory accessable via an hash name, which is required for some
of the tests).
5. If everything tests ok, install OpenSSL with 5. If everything tests ok, install OpenSSL with
make install $ make install
This will create the installation directory (if it does not This will create the installation directory (if it does not exist) and
exist) and then create the following subdirectories: then create the following subdirectories:
bin Contains the openssl binary and a few other utility bin Contains the openssl binary and a few other
programs. It also contains symbolic links so utility programs.
that openssl commands can be accessed directly
(e.g. so that "s_client" can be used instead of
"openssl s_client").
certs Initially empty, this is the default location
for certificate files.
include Contains the header files needed if you want to include Contains the header files needed if you want to
compile programs with libcrypto or libssl. compile programs with libcrypto or libssl.
lib Contains the library files themselves and the lib Contains the library files themselves and the
OpenSSL configuration file "openssl.cnf". OpenSSL configuration file "openssl.cnf".
certs Initially empty, this is the default location
for certificate files.
private Initially empty, this is the default location private Initially empty, this is the default location
for private key files. for private key files.
----------------------------------------------------------------------
Additional Compilation Notes --------------------------------------------------------------------------------
---------------------------- The orignal Unix build instructions from SSLeay follow.
Note: some of this may be out of date and no longer applicable
These notes come from SSLeay 0.9.1 and cover some more advanced --------------------------------------------------------------------------------
facilities (such as building a single makefile for use on Windows
systems).
# Installation of SSLeay.
# It depends on perl for a few bits but those steps can be skipped and
# the top level makefile edited by hand
# When bringing the SSLeay distribution back from the evil intel world # When bringing the SSLeay distribution back from the evil intel world
# of Windows NT, do the following to make it nice again under unix :-) # of Windows NT, do the following to make it nice again under unix :-)

View File

@ -1,97 +1,104 @@
Building OpenSSL under Win32.
INSTALLATION ON THE WIN32 PLATFORM
----------------------------------
Heres a few comments about building OpenSSL in Windows environments. Most of Heres a few comments about building OpenSSL in Windows environments. Most of
this is tested on Win32 but it may also work in Win 3.1 with some modification. this is tested on Win32 but it may also work in Win 3.1 with some
See the end of this file for Eric's original comments. modification. See the end of this file for Eric's original comments.
Note: the default Win32 environment is to leave out any Windows NT specific Note: the default Win32 environment is to leave out any Windows NT specific
features: (currently only BIO_s_log()) if you want NT specific features see features: (currently only BIO_s_log()) if you want NT specific features see
the "Tweaks" section later. the "Tweaks" section later.
You will need perl for Win32 (which can be got from various sources) and Visual You will need perl for Win32 (which can be got from various sources) and
C++. Visual C++.
If you are compiling from a tarball or a CVS snapshot then the Win32 files may If you are compiling from a tarball or a CVS snapshot then the Win32 files
well be not up to date. This may mean that some "tweaking" is required to get may well be not up to date. This may mean that some "tweaking" is required to
it all to work. See the trouble shooting section later on for if (when?) it get it all to work. See the trouble shooting section later on for if (when?)
goes wrong. it goes wrong.
Firstly you should run Configure: Firstly you should run Configure:
perl Configure VC-WIN32 > perl Configure VC-WIN32
Then rebuild the Win32 Makefiles and friends: Then rebuild the Win32 Makefiles and friends:
ms\do_ms > ms\do_ms
if you get errors about things not having numbers assigned then check the If you get errors about things not having numbers assigned then check the
troubleshooting section: you probably wont be able to compile it as it stands. troubleshooting section: you probably wont be able to compile it as it
stands.
then from the VC++ environment at a prompt do: Then from the VC++ environment at a prompt do:
nmake -f ms\ntdll.mak > nmake -f ms\ntdll.mak
If all is well it should compile and you will have some DLLs and executables If all is well it should compile and you will have some DLLs and executables
in out32dll. If you want to try the tests then cd to out32dll and run ..\ms\test in out32dll. If you want to try the tests then do:
Troubleshooting. > cd out32dll
> ..\ms\test
Troubleshooting
---------------
Since the Win32 build is only occasionally tested it may not always compile Since the Win32 build is only occasionally tested it may not always compile
cleanly. cleanly. If you get an error about functions not having numbers assigned
when you run ms\do_ms then this means the Win32 ordinal files are not up to
date. You can do:
If you get an error about functions not having numbers assigned when you > perl util\mkdef.pl crypto ssl update
run ms\do_ms then this means the Win32 ordinal files are not up to date. You
can do:
perl util\mkdef.pl crypto ssl update then ms\do_ms should not give a warning any more. However the numbers that
get assigned by this technique may not match those that eventually get
then ms\do_ms should not give a warning any more. However the numbers that get assigned in the CVS tree: so anything linked against this version of the
assigned by this technique may not match those that eventually get assigned library may need to be recompiled.
in the CVS tree: so anything linked against this version of the library
may need to be recompiled.
If you get errors about unresolved externals then this means that either you If you get errors about unresolved externals then this means that either you
didn't read the note above about functions not having numbers assigned or didn't read the note above about functions not having numbers assigned or
someone forgot to add a function to the header file. someone forgot to add a function to the header file.
In this latter case check out the header file to see if the function is defined In this latter case check out the header file to see if the function is
in the header file: it should be defined twice: once with ANSI prototypes and defined in the header file: it should be defined twice: once with ANSI
once without. If its missing from the non ASNI section then add an entry for prototypes and once without. If its missing from the non ASNI section then
it: check that ms\do_ms now reports missing numbers and update the numbers as add an entry for it: check that ms\do_ms now reports missing numbers and
above. update the numbers as above.
If you get warnings in the code then the compilation will halt. If you get warnings in the code then the compilation will halt.
The default Makefile for Win32 halts whenever any warnings occur. Since VC++ The default Makefile for Win32 halts whenever any warnings occur. Since VC++
has its own ideas about warnings which don't always match up to other has its own ideas about warnings which don't always match up to other
environments this can happen. The best fix is to edit the file with the warning environments this can happen. The best fix is to edit the file with the
in and fix it. Alternatively you can turn off the halt on warnings by editing warning in and fix it. Alternatively you can turn off the halt on warnings by
the CFLAG line in the Makefile and deleting the /WX option. editing the CFLAG line in the Makefile and deleting the /WX option.
You might get compilation errors. Again you will have to fix these or You might get compilation errors. Again you will have to fix these or report
report them. them.
One final comment about compiling applications linked to the OpenSSL library. One final comment about compiling applications linked to the OpenSSL library.
If you don't use the multithreaded DLL runtime library (/MD option) your If you don't use the multithreaded DLL runtime library (/MD option) your
program will almost certainly crash: see the original SSLeay description below program will almost certainly crash: see the original SSLeay description
for more details. below for more details.
Tweaks. Tweaks
------
There are various changes you can make to the Win32 compile environment. If you There are various changes you can make to the Win32 compile environment. If
have the MASM assembler 'ml' then you can try the assembly language code. To you have the MASM assembler 'ml' then you can try the assembly language code.
do this remove the 'no-asm' part from do_ms.bat. You can also add 'debug' here To do this remove the 'no-asm' part from do_ms.bat. You can also add 'debug'
to make a debugging version of the library. here to make a debugging version of the library.
If you want to enable the NT specific features of OpenSSL (currently only If you want to enable the NT specific features of OpenSSL (currently only the
the logging BIO) follow the instructions above but call the batch file logging BIO) follow the instructions above but call the batch file do_nt.bat
do_nt.bat instead of do_ms.bat. instead of do_ms.bat.
You can also build a static version of the library using the Makefile ms\nt.mak You can also build a static version of the library using the Makefile
ms\nt.mak
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
The orignal Windows build instructions from SSLeay follow. Note: some of this The orignal Windows build instructions from SSLeay follow.
may be out of date and no longer applicable Note: some of this may be out of date and no longer applicable
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
The Microsoft World. The Microsoft World.