centos8 编译 openssll 后,无法使用一堆系统命令

背景

  • os centos8
  • 编译了 openssl-1.1.1g
  • 编译参数 ./config --prefix=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib
  • centos7 正常, centos8 上出现下面问题(同样 sshd 服务也不再正常)
# rpm -qa
rpm: symbol lookup error: /lib64/librpmio.so.8: undefined symbol: EVP_md2, version OPENSSL_1_1_0

临时恢复

  • 删除 /etc/ld.conf.d/openssl.conf 配置
  • ldconfig 重新载入库文件
  • 恢复完成

问题

  • 原来库文件正常
# ls -lh /lib64/librpmio.so.8
lrwxrwxrwx. 1 root root 17 Feb 16  2021 /lib64/librpmio.so.8 -> librpmio.so.8.2.0
  • rpm 命令没有缺少库, 只是用了新库导致问题
# ldd /usr/bin/rpm
        linux-vdso.so.1 (0x00007fff36f74000)
        librpm.so.8 => /lib64/librpm.so.8 (0x00007f97b4017000)
        librpmio.so.8 => /lib64/librpmio.so.8 (0x00007f97b3de3000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f97b3bdd000)
        libacl.so.1 => /lib64/libacl.so.1 (0x00007f97b39d4000)
        libdb-5.3.so => /lib64/libdb-5.3.so (0x00007f97b3610000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f97b33ff000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f97b31e8000)
        libelf.so.1 => /lib64/libelf.so.1 (0x00007f97b2fcf000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f97b2da8000)
        libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f97b2b04000)
        liblua-5.3.so => /lib64/liblua-5.3.so (0x00007f97b28c9000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f97b2547000)
        libpopt.so.0 => /lib64/libpopt.so.0 (0x00007f97b233a000)
        libcrypto.so.1.1 => /usr/local/openssl/lib/libcrypto.so.1.1 (0x00007f97b1e59000)  <-- 这里
        libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f97b1c2f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f97b1a2b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f97b180b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f97b1446000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f97b4498000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007f97b1240000)
        libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007f97b103a000)
  • 查询 librpmio.so.8 库依赖
# nm -D librpmio.so.8 | grep EVP_md2
                 U EVP_md2
  • 查询编译 openssl 是否兼容 EVP_md2 (无返回,则不支持)
nm -D /usr/local/openssl/lib/libcrypto.so.1.1 | grep EVP_md2
  • 优先使用系统 /lib64 库方法
vim /etc/ld.conf.d/openssl.conf
/lib54/
/usr/liocal/openssl/lib

ldconfig
  • 解决问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值