X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/d4fd1b83a197d73cbac114fe53f3448d8b5c7cc2..830832c9aac90729e88bab0d1daa1ec8bb6848f5:/doc/doc-txt/openssl.txt?ds=sidebyside diff --git a/doc/doc-txt/openssl.txt b/doc/doc-txt/openssl.txt index a8d69b690..194ae7cf8 100644 --- a/doc/doc-txt/openssl.txt +++ b/doc/doc-txt/openssl.txt @@ -42,6 +42,10 @@ something else. `/opt/exim/openssl` perhaps. make make install +On some systems, the linker uses `-rpath` instead of `-R`; on such systems, +replace the parameter starting `-Wl` with: `-Wl,-rpath,/opt/openssl/lib`. +There are more variations on less common systems. + You now have an installed OpenSSL under /opt/openssl which will not be used by any system programs. @@ -49,23 +53,24 @@ When you copy `src/EDITME` to `Local/Makefile` to make your build edits, choose the pkg-config approach in that file, but also tell Exim to add the relevant directory into the rpath stamped into the binary: + PKG_CONFIG_PATH=/opt/openssl/lib/pkgconfig + SUPPORT_TLS=yes USE_OPENSSL_PC=openssl - LDFLAGS=-ldl -Wl,-rpath,/opt/openssl/lib + LDFLAGS+=-ldl -Wl,-rpath,/opt/openssl/lib + +[jgh: I've see /usr/local/lib used] The -ldl is needed by OpenSSL 1.0.2+ on Linux and is not needed on most -other platforms. +other platforms. The LDFLAGS is needed because `pkg-config` doesn't know +how to emit information about RPATH-stamping, but we can still leverage +`pkg-config` for everything else. -Then tell pkg-config how to find the configuration files for your new -OpenSSL install, and build Exim: +Then build Exim: - export PKG_CONFIG_PATH=/opt/openssl/lib/pkgconfig make sudo make install -(From Exim 4.89, you can put that `PKG_CONFIG_PATH` directly into - your `Local/Makefile` file.) - Confirming ---------- @@ -95,6 +100,7 @@ is to run: readelf -d $(which exim) | grep RPATH +[jgh: I've seen that spelled RUNPATH] Very Advanced -------------