故障:
-luuid -lrt -lcrypt -lpthread -ldl -lm
/usr/bin/ld: ab.o: in function `main':
/home/yeqiang/package/apache/httpd-2.4.6/support/ab.c:2265: undefined reference to `SSLv2_client_method'
/usr/bin/ld: /home/yeqiang/package/apache/httpd-2.4.6/support/ab.c:2322: undefined reference to `CRYPTO_malloc_init'
collect2: error: ld returned 1 exit status
原因openssl-devel版本不匹配
[root@ceph3 httpd-2.4.6]# rpm -qa | grep openssl-devel
openssl-devel-1.1.1f-2.ky10.aarch64
解决:采用openssl-1.0.2u版本
https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
[root@ceph3 apache]# tar -xf openssl-1.0.2u.tar.gz
[root@ceph3 apache]# cd openssl-1.0.2u/
[root@ceph3 openssl-1.0.2u]# ./config -shared --prefix=/usr/local/openssl-1.0.2u
[root@ceph3 openssl-1.0.2u]# make -j64
[root@ceph3 openssl-1.0.2u]# make install -j64
[root@ceph3 openssl-1.0.2u]# ll /usr/local/openssl-1.0.2u/
重新编译httpd
[root@ceph3 apache]# tar -xf httpd-2.4.6.tar.gz
[root@ceph3 apache]# tar -xf httpd-2.4.6-deps.tar.gz
[root@ceph3 apache]# cd httpd-2.4.6/
[root@ceph3 httpd-2.4.6]# ./configure --prefix=/usr/local/httpd-2.4.6 --with-ssl=/usr/local/openssl-1.0.2u
注意configure输出检查
checking for OpenSSL... checking for user-provided OpenSSL base directory... /usr/local/openssl-1.0.2u
adding "-I/usr/local/openssl-1.0.2u/include" to CPPFLAGS
setting MOD_CFLAGS to "-I/usr/local/openssl-1.0.2u/include "
setting ab_CFLAGS to "-I/usr/local/openssl-1.0.2u/include "
adding "-L/usr/local/openssl-1.0.2u/lib" to LDFLAGS
setting MOD_LDFLAGS to "-L/usr/local/openssl-1.0.2u/lib "
checking for OpenSSL version >= 0.9.7... OK
adding "-lssl" to MOD_LDFLAGS
adding "-lcrypto" to MOD_LDFLAGS
adding "-luuid" to MOD_LDFLAGS
adding "-lrt" to MOD_LDFLAGS
adding "-lcrypt" to MOD_LDFLAGS
adding "-lpthread" to MOD_LDFLAGS
adding "-ldl" to MOD_LDFLAGS
setting LIBS to "-lssl -lcrypto -luuid -lrt -lcrypt -lpthread -ldl"
forcing ab_LDFLAGS to "-L/usr/local/openssl-1.0.2u/lib -lssl -lcrypto -luuid -lrt -lcrypt -lpthread -ldl"
[root@ceph3 httpd-2.4.6]# make -j64
[root@ceph3 httpd-2.4.6]# make install
成功安装
Installing configuration files
mkdir /usr/local/httpd-2.4.6/conf
mkdir /usr/local/httpd-2.4.6/conf/extra
mkdir /usr/local/httpd-2.4.6/conf/original
mkdir /usr/local/httpd-2.4.6/conf/original/extra
Installing HTML documents
mkdir /usr/local/httpd-2.4.6/htdocs
Installing error documents
mkdir /usr/local/httpd-2.4.6/error
Installing icons
mkdir /usr/local/httpd-2.4.6/icons
mkdir /usr/local/httpd-2.4.6/logs
Installing CGIs
mkdir /usr/local/httpd-2.4.6/cgi-bin
Installing header files
mkdir /usr/local/httpd-2.4.6/include
Installing build system files
mkdir /usr/local/httpd-2.4.6/build
Installing man pages and online manual
mkdir /usr/local/httpd-2.4.6/man
mkdir /usr/local/httpd-2.4.6/man/man1
mkdir /usr/local/httpd-2.4.6/man/man8
mkdir /usr/local/httpd-2.4.6/manual