arm64 aarch64 gcc 9.2.0 编译 apache httpd 2.4.6报错undefined reference to `SSLv2_client_method‘

故障:

-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

猜你喜欢

转载自blog.csdn.net/hknaruto/article/details/132555990