version“openssl_1.0.0”not found 解决办法

编译的时候提示缺少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
相关推荐
风华同学4 小时前
【环境搭建篇】ARM+Linux环境搭建
linux·运维·arm开发
温柔如酒4 小时前
【linux调试】使用 sysrq 快照内核状态堆栈
linux·运维·服务器
板鸭〈小号〉4 小时前
简单的http服务器实现C++
运维·服务器
dangdang___go4 小时前
文件操作2+程序的编译和链接(1)
java·服务器·前端
std860214 小时前
Linux 6.18发布:年度最后版本或成新长期支持版本
linux·运维·服务器
HalvmånEver4 小时前
Linux:进程替换(进程控制四)
linux·运维·服务器·学习·进程
一叶之秋14124 小时前
从零开始学Linux进程控制:fork、wait、exec 详解
linux·运维·服务器
thinkMoreAndDoMore4 小时前
linux系统服务管理框架
linux·运维·服务器
waves浪游5 小时前
进程控制(中)
linux·运维·服务器·开发语言·c++