<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<span style="white-space: pre-wrap">
</span>
<p><span style="white-space: pre-wrap">Thanks very much for the help. I tried adding "-R/opt/boringssl/lib" in ld options, so it looked like:
<font face="monospace">--with-ld-opt='-Wl,-R,/opt/GeoIP/lib -R/opt/boringssl/lib -L/opt/GeoIP/lib -L/opt/boringssl/lib'
</font>But this gave the same result, probably the above is wrong because I don't really know what I am doing with linker options.</span></p>
<p><span style="white-space: pre-wrap">You are correct though, I tried replacing the system libcrypto.so and libssl.so with links to the boringssl ones and that got rid of the issue. So it is just not looking for them in the correct place. </span></p>
<p><span style="white-space: pre-wrap">I will have to read up on linker options then hopefully I can get it working properly.</span></p>
<p><span style="white-space: pre-wrap">Thanks for pointing me in the right direction.</span></p>
<p><span style="white-space: pre-wrap">Dave</span></p>
<p><span style="white-space: pre-wrap">
</span></p>
<blockquote type="cite" cite="mid:mailman.1.1719306000.50015.nginx@freenginx.org">
<pre class="moz-quote-pre" wrap="">Hello!
On Mon, Jun 24, 2024 at 08:06:23AM +0100, Dave Kennard wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">This is probably me doing something stupid, but I can't get nginx to run
when built to use boringssl. When trying to run it (nginx -t) I get the
error: undefined symbol: CRYPTO_chacha_20
I think it's just that it isn't loading the boringssl shared libs.
Nginx is configured as follows:
./configure --prefix=/opt/nginx-1.27.1 \
??? --with-pcre={{ tarballs_path }}/pcre2-{{ pcre_version }} \
??? --with-pcre-jit \
??? --without-http_autoindex_module \
??? --without-http_empty_gif_module \
??? --without-http_ssi_module \
??? --with-http_ssl_module \
??? --with-http_v2_module \
??? --with-http_v3_module \
??? --with-ipv6 \
??? --with-http_gzip_static_module \
??? --with-http_realip_module \
??? --add-module=../ngx_http_geoip2_module \
??? --with-http_perl_module --with-perl_modules_path=perl/lib \
??? --with-cc-opt='-I/opt/GeoIP/include -I/opt/boringssl/include' \
??? --with-ld-opt='-Wl,-R,/opt/GeoIP/lib -L/opt/GeoIP/lib
-L/opt/boringssl/lib'
And boringssl:
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1
-DCMAKE_INSTALL_PREFIX=/opt/boringssl-{{ ansible_date_time.date }}
(/opt/boringssl is symlinked to /opt/boringssl-{{ ansible_date_time.date }})
Can anyone suggest what the problem might be?
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Options you use suggest that you are building with shared BorinSSL
library installed in a non-default location. The error you are
seeing is likely a result of loading OpenSSL library from the
default library path instead.
Using "-R/opt/boringssl/lib" in ld options might be the way to go,
similarly to how you already do with the GeoIP library.
</pre>
</blockquote>
</body>
</html>