
编译的时候提示缺少openssl1.0.0,记录问题解决办法
如果你也遇到这个问题,请注意避雷,大概率缺少的是openssl_1.0.2的库,而不是1.0.0。
OpenSSL官方的决定是:"1.0.x 系列 只要 ABI 不破坏,就永远保持 libssl.so.1.0.0"
直到 1.1.0 才 **第一次打破 ABI,**并改名为:libssl.so.1.1
① 下载 OpenSSL 1.0.2u
cd ~/下载
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
tar xf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u
② 正确配置( shared + enable-rc4)
sudo ./Configure linux-x86_64 shared enable-rc4 \
--prefix=/opt/openssl-1.0.2 \
--openssldir=/opt/openssl-1.0.2
③ 编译
make -j8
确认生成库文件
ls -l libssl.so.1.0.0 libcrypto.so.1.0.0
注意:即使是 1.0.2,文件名仍然叫 libssl.so.1.0.0,这是 OpenSSL 的历史 ABI 规则,不是版本错误。
④ 手动安装
sudo mkdir -p /opt/openssl-1.0.2/lib
sudo cp libssl.so.1.0.0 libcrypto.so.1.0.0 /opt/openssl-1.0.2/lib
cd /opt/openssl-1.0.2/lib
sudo ln -sf libssl.so.1.0.0 libssl.so
sudo ln -sf libcrypto.so.1.0.0 libcrypto.so
⑤ 引用
LD_LIBRARY_PATH=/opt/openssl-1.0.2/lib