Help to build nginx withe specific OpenSSL shared library

Fabio Ancona fabio.ancona at gmail.com
Wed Jul 12 07:18:53 UTC 2017


Hi.
I have problem to link specific OpenSSL shared library during "configure"
to build nginx from source code on Linux.
On my system I have two version of already built OpenSSL: one in "/opt/ssl"
(version 1.1.0f) and the other one on "/opt/ssldevel" (version 1.1.1 devel
that supports TLS 1.3 draft 18).
The system's OpenSSL library points to the version 1.1.0f in "/opt/ssl" via
the "/etc/ld.so.conf" file:


root at server:~# cat /etc/ld.so.conf
/opt/ssl/lib
/usr/local/lib
include /etc/ld.so.conf.d/*.conf


root at server:~# ldconfig -v
ldconfig: Path `/usr/local/lib' given more than once
ldconfig: Path `/lib/arm-linux-gnueabihf' given more than once
ldconfig: Path `/usr/lib/arm-linux-gnueabihf' given more than once
/opt/ssl/lib:
        libcrypto.so.1.1 -> libcrypto.so.1.1
        libssl.so.1.1 -> libssl.so.1.1

I want to build nginx with OpenSSL shared library not using the system
OpenSSL library (so that available at "/opt/ssl/lib") but using the shared
library in "/opt/ssldevel/lib".

See the shared library available on "/opt/ssldevel/lib":

root at server:/opt/ssldevel/lib# ls -la
total 6588
drwxr-xr-x 4 root root    4096 Jul 11 12:22 .
drwxr-xr-x 9 root root    4096 Jul 11 12:22 ..
drwxr-xr-x 2 root root    4096 Jul 11 12:22 engines-1.1
-rw-r--r-- 1 root root 3363402 Jul 11 12:22 libcrypto.a
lrwxrwxrwx 1 root root      16 Jul 11 12:22 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x 1 root root 2305732 Jul 11 12:22 libcrypto.so.1.1
-rw-r--r-- 1 root root  585004 Jul 11 12:22 libssl.a
lrwxrwxrwx 1 root root      13 Jul 11 12:22 libssl.so -> libssl.so.1.1
-rwxr-xr-x 1 root root  468330 Jul 11 12:22 libssl.so.1.1
drwxr-xr-x 2 root root    4096 Jul 11 12:22 pkgconfig



I have tried various combinations of parameter in the "configure" options,
but after building nginx always will use the OpenSSL library (shared)
available on "/opt/ssl/lib". I have checked it with the command "ldd".

There are my "configure" versions that I have tried but without success
because nginx will always go to use the library available at "/opt/ssl/lib"
(I paste only the OpenSSL part):



configure --with-cc-opt="-I /opt/ssldevel/include" --with-ld-opt="-L
/opt/ssldevel/lib -Wl,-rpath -lssl -lcrypto -ldl" --with-http_ssl_module
--with-openssl-opt=enable-tls1_3

configure --with-cc-opt="-I /opt/ssldevel/include" --with-ld-opt="-L
/opt/ssldevel/lib" --with-http_ssl_module --with-openssl-opt=enable-tls1_3



Please, what are the correct parameter to give to "configure" to make nginx
to point to specific path of OpenSSL shared library (so not using the
system's one)?

Many thanks for your support.

Best Regards.

Fabio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170712/1b7869eb/attachment.html>


More information about the nginx mailing list