openssl错误(/lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b)

[root@ktgd-web3 lib64]# find / -name 'libcrypt*'
/opt/ds_agent/lib/libcrypto.so.1.0.0
/usr/local/openssl-1.1.1q/lib/libcrypto.so
/usr/local/openssl-1.1.1q/lib/libcrypto.a
/usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1_bak
/usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1
/usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1.bak
/usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1.bak1
/usr/local/openssl-1.1.1q/lib/pkgconfig/libcrypto.pc
/usr/lib64/libcrypt.so.1.1.0
/usr/lib64/libcrypto.so
/usr/lib64/libcrypto.so.1.1.1k
/usr/lib64/libcryptsetup.so.12.6.0
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libcrypt.so.1
/usr/lib64/libcrypt.so
/usr/lib64/libcrypto.so.1.1.bak
/usr/lib64/libcryptsetup.so.12
/usr/lib64/libcrypto.so.10
/usr/lib64/pkgconfig/libcrypto.pc
/usr/lib64/pkgconfig/libcrypt.pc

从您提供的 find 命令输出来看,您的系统中存在多个版本的 OpenSSL libcrypto 库和其他相关的库文件。这可能导致版本冲突或链接到错误版本的库文件,从而引发问题,如您之前遇到的 undefined symbol 错误。

OpenSSL 库文件:
/usr/local/openssl-1.1.1q/lib/ 目录下包含了 OpenSSL 1.1.1q 版本的库文件,包括 libcrypto.so(共享库)、libcrypto.a(静态库)和带有版本号的符号链接(如 libcrypto.so.1.1)。
/usr/lib64/ 目录下也有 libcrypto 的库文件,但看起来它们可能是系统默认安装的 OpenSSL 版本,或者是由其他软件包安装的。

版本冲突:
系统中同时存在 /usr/lib64/libcrypto.so.1.1.1k 和 /usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1,这两个文件分别属于不同版本的 OpenSSL(尽管都是 1.1.x 系列,但具体的小版本号不同)。
如果您的应用程序或系统服务错误地链接到了旧版本的库文件,而该版本的库文件中缺少某些新版本的符号(如 EVP_KDF_ctrl),那么就会引发错误。

解决办法
删除多余的库文件(谨慎操作):如果确认某些版本的 OpenSSL 库文件不再需要,可以考虑删除它们,但请确保这样做不会破坏其他依赖这些库的软件包。

rm -rf /usr/local/openssl-1.1.1q/lib/libcrypto.so.1.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值