我正在尝试在 centos 6.8 上安装 apache2.4.23,我得到了这个:
ab.c: In function 'main':
ab.c:2398: warning: implicit declaration of function 'SSLv2_client_method'
ab.c:2398: warning: assignment makes pointer from integer without a cast
ab.c:2412: warning: 'TLSv1_1_client_method' is deprecated (declared at /usr/local/include/openssl/ssl.h:1604)
ab.c:2414: warning: 'TLSv1_2_client_method' is deprecated (declared at /usr/local/include/openssl/ssl.h:1610)
ab.c:2417: warning: 'TLSv1_client_method' is deprecated (declared at /usr/local/include/openssl/ssl.h:1598)
ab.c:2468: warning: implicit declaration of function 'CRYPTO_malloc_init'
/usr/share/apr-1/build/libtool --silent --mode=link gcc -std=gnu99 -g -O2 -pthread -L/opt/httpd-2.4.25/lib -lssl -lcrypto -lrt -lcrypt -lpthread \
-o ab ab.lo /usr/lib64/libaprutil-1.la -ldb-4.7 -lexpat -ldb-4.7 /usr/lib/libapr-1.la -lrt -lcrypt -lpthread -lm
ab.o: In function `main':
/opt/httpd-2.4.25/support/ab.c:2468: undefined reference to `CRYPTO_malloc_init'
/opt/httpd-2.4.25/support/ab.c:2398: undefined reference to `SSLv2_client_method'
collect2: ld returned 1 exit status
make[2]: *** [ab] Erreur 1
make[2]: quittant le répertoire « /opt/httpd-2.4.25/support »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /opt/httpd-2.4.25/support »
make: *** [all-recursive] Erreur
我尝试安装 openssl 1.1.0 并使用以下命令重新配置 apache 的安装:
./configure --enable-layout=admin --enable-mpms-shared=all --with-ssl=/usr/local/bin/openssl
仍然遇到同样的问题,有什么想法吗?
答案1
经过大量文档后,我发现问题出在openssl version
,在我的情况下,我使用的是 openssl 1.1.x,所以当 httpd 2.4.23 发布时,openssl 1.1.0 仍然是测试版,我安装了 openssl 1.0.2j 并编译了 apache新的SSL:
./configure --with-apr=/usr/local/apr/bin --with-ssl=/usr/local/ssl/bin/