背景
- 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
# 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)
# 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
vim /etc/ld.conf.d/openssl.conf
/lib54/
/usr/liocal/openssl/lib
ldconfig