Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: Build with OpenSSL 3.0.5 |
|
Author |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Tue 02 Aug '22 12:31 Post subject: Build with OpenSSL 3.0.5 |
|
|
Hi,
I tried my first build with OpenSSL 3.0.5
it builds fine, however, when I try to load the new SSL version I get an error. How do I solve this?
Code: |
sudo /opt/apache2/bin/httpd -M
httpd: Syntax error on line 85 of /opt/apache2/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: /opt/apache2/modules/mod_ssl.so: undefined symbol: OSSL_PARAM_construct_octet_string
|
The SSL config was
Code: |
./config --prefix=/opt/openssl --openssldir=/opt/openssl no-ssl3 no-ec2m no-rc5 no-idea no-camellia no-weak-ssl-ciphers threads no-psk zlib-dynamic shared enable-ec_nistp_64_gcc_128
|
used versions
Code: |
SSL_VERSION="3.0.5"
HTTPD_VERSION="2.4.54"
APR_VERSION="1.7.0"
APRU_VERSION="1.6.1"
APRI_VERSION="1.2.2"
ZLIB_VERSION="1.2.12"
PCRE_VERSION="8.45"
HTTP2_VERSION="1.42.0"
MOD_SEC_VERSION="2.9.5"
JANSON_VERSION="2.14"
CURL_VERSION="7.80.0"
CURL_PATH="7_80_0"
|
I also tried PCRE2 10.40
The dev environment is Debian 11 x64 |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Tue 02 Aug '22 16:56 Post subject: |
|
|
I think I know your problem, since I've seen something similar when switching the Windows CMake builds between OpenSSL 1.x and 3.x.
Believe the problem is you've got old OpenSSL 1.x headers in the build path taking precedence over 3.x headers, specifically params.h in this case, viz.
Code: | C:\>cd C:\Development\Apache24\src\openssl-3.0.5\include\openssl
C:\Development\Apache24\src\openssl-3.0.5\include\openssl>grep -i OSSL_PARAM_construct_octet_string *.h
params.h:OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf,
C:\>cd C:\Development\Apache24\src\openssl-1.1.1q\include\openssl
C:\Development\Apache24\src\openssl-1.1.1q\include\openssl>grep -i OSSL_PARAM_construct_octet_string *.h
C:\>cd C:\Apache24\bin
C:\Apache24\bin>.\openssl version
OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022)
C:\Apache24\bin>.\httpd -M 2>nul | grep ssl
ssl_module (shared) |
Do you have old 1.x headers lurking in /opt/openssl/include, or /opt/apache2/include? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Thu 04 Aug '22 10:48 Post subject: |
|
|
Thanks for the hint. I figured out, that openssl dopes not find the new libssl.so.3
/opt/openssl/bin/openssl version
error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
Even though it is in /opt/openssl/lib64 |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Fri 05 Aug '22 11:12 Post subject: |
|
|
I got the solution. For apache configure I used
Code: |
... --with-ssl=/opt/openssl --with-openssl=/opt/openssl --enable-module=ssl --with-crypto ...
|
After removing --with-crypto it builds again. |
|
Back to top |
|
|
|
|
|
|