编译 Apache 和 OpenSSL 时出错:对符号“dlclose@@GLIBC_2.2.5”未定义引用

编译 Apache 和 OpenSSL 时出错:对符号“dlclose@@GLIBC_2.2.5”未定义引用

当我们从源代码编译 Apache 2.4.39 时,我们遇到了一个错误,同时从源代码编译 OpenSSL 1.0.2 也出现了错误:

make[2]: Entering directory '/usr/src/httpd-2.4.39/support'
/usr/src/httpd-2.4.39/srclib/apr/libtool --silent --mode=link gcc  -g -O2 -pthread    \
         -o ab  ab.lo       /usr/src/httpd-2.4.39/srclib/apr-util/libaprutil-1.la -lexpat /usr/src/httpd-2.4.39/srclib/apr/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl -lm -L/opt/openssl/lib -lssl -ldl -lcrypto -luuid -lrt -lcrypt -lpthread
/usr/bin/ld: /opt/openssl/lib/libcrypto.a(dso_dlfcn.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:73: recipe for target 'ab' failed
make[2]: *** [ab] Error 1

配置命令如下。服务器运行的是 Ubuntu 18.04。有人能指出解决方案吗?谢谢您的帮助!

./configure --prefix=/opt/httpd --with-included-apr --disable-userdir --enable-status --enable-rewrite --enable-so --enable-mpms-shared --with-mpm=prefork --enable-deflate --enable-headers --enable-expires --with-ssl=/opt/openssl --enable-ssl-staticlib-deps --enable-mods-static=ssl

答案1

答案是使用 OpenSSL 1.1.1。搜索结果让我大吃一惊,老建议是不要使用 1.1.1。

Apache 更改日志是查找受支持版本的好地方: https://www.apachelounge.com/Changelog-2.4.html

相关内容