relocation error: /usr/lib64/libssl.so.10: symbol private_ossl_minimum_dh_bits, version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference
尝试了好久才解决,要么缺失,要么版本不对。
原因是,/usr/lib64 下libssl.so.10缺失,或者链接版本不对。
缺失:
ll libssl.so*
-rwxr-xr-x 1 root root 520912 Jan 4 22:32 libssl.so.1.1
或者
版本不对:
ll libssl.so*
-rwxr-xr-x 1 root root 487784 Jan 5 14:00 libssl.so.1.0.1e
-rwxr-xr-x 1 root root 520912 Jan 4 22:32 libssl.so.1.1
解决方法:
openssl-1.0.1e 下载地址
https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
载完毕后解压,注意编译安装openssl需要c和prel环境。
通过./config shared zlib-dynamic 来生成Makefile文件。
然后make
生成
libssl.so.1.0.0
libcrypto.so.1.0.0
将两个文件拷贝到 /usr/lib64
创建软链接(ln源就是上面查出的对应版本的库文件):
cd /usr/lib64/
ln -s libssl.so.1.0.0 libssl.so.10
ln -s libcrypto.so.1.0.0 libcrypto.so.10
然后在/usr/lib64/ 下
ll libssl.so*
lrwxrwxrwx 1 root root 15 Jan 5 14:06 libssl.so.10 -> libssl.so.1.0.0
-rwxr-xr-x 1 root root 487784 Jan 5 14:00 libssl.so.1.0.0
-rwxr-xr-x 1 root root 520912 Jan 4 22:32 libssl.so.1.1
之后解决了如上问题!!