undefined symbol: CRYPTO_chacha_20 when built with boringssl
Dave Kennard
showerheadsuk at hotmail.com
Tue Jun 25 14:49:21 UTC 2024
Thanks very much for the help. I tried adding "-R/opt/boringssl/lib" in
ld options, so it looked like: --with-ld-opt='-Wl,-R,/opt/GeoIP/lib
-R/opt/boringssl/lib -L/opt/GeoIP/lib -L/opt/boringssl/lib' But this
gave the same result, probably the above is wrong because I don't really
know what I am doing with linker options.
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.
I will have to read up on linker options then hopefully I can get it
working properly.
Thanks for pointing me in the right direction.
Dave
> Hello!
>
> On Mon, Jun 24, 2024 at 08:06:23AM +0100, Dave Kennard wrote:
>
>> 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?
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://freenginx.org/pipermail/nginx/attachments/20240625/47bd7c83/attachment.htm>
More information about the nginx
mailing list