]> git.ipfire.org Git - thirdparty/openssl.git/blob - NOTES.UNIX
Check the parent DRBG's strength
[thirdparty/openssl.git] / NOTES.UNIX
1
2 NOTES FOR UNIX LIKE PLATFORMS
3 =============================
4
5 For Unix/POSIX runtime systems on Windows, please see NOTES.WIN.
6
7
8 Shared libraries and installation in non-standard locations
9 -----------------------------------------------------------
10
11 Binaries on Unix variants expect to find shared libraries in standard
12 locations, such as /usr/lib, /usr/local/lib and some other locations
13 configured in the system (for example /etc/ld.so.conf on some systems).
14 If the libraries are installed in non-standard locations, binaries
15 will not find them and therefore fail to run unless they get a bit of
16 help from a defined RPATH or RUNPATH. This can be applied by adding
17 the appropriate linker flags to the configuration command, such as
18 this (/usr/local/ssl was the default location for OpenSSL installation
19 in versions before 1.1.0):
20
21 $ ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl \
22 -Wl,-rpath,/usr/local/ssl/lib
23
24 Because the actual library location may vary further (for example on
25 multilib installations), there is a convenience variable in Makefile
26 that holds the exact installation directory and that can be used like
27 this:
28
29 $ ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl \
30 -Wl,-rpath,'$(LIBRPATH)'
31
32 On modern systems using GNU ld.so, a better choice may be to use the
33 new dtags, like this:
34
35 $ ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl \
36 -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
37
38 This sets DT_RUNPATH instead of DT_RPATH. DT_RUNPATH is considered after
39 the environment variable LD_LIBRARY_PATH, while DT_RPATH is considered
40 before that environment variable (which means that the values in that
41 environment variable won't matter if the library is found in the
42 paths given by DT_RPATH).