您的位置 首页 linux 运维

ldd 命令

 

 

问题:

source  的时候:

flatpak: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

 

然后导致 yum 命令直接报错不能用了。

解决方式:

首先我们用ldd 命令

ldd 是一个在 Unix 和类 Unix 系统上用来检查可执行文件或共享库所依赖的共享库的实用程序。你提供的输出是 ldd 命令针对 /lib64/libk5crypto.so.3 这个共享库运行的结果。

ldd /lib64/libk5crypto.so.3

这个输出显示了 /lib64/libk5crypto.so.3 依赖的其他共享库以及它们的位置。从输出中可以看到,libk5crypto.so.3 依赖于多个共享库,如 libkrb5support.so.0、libkeyutils.so.1、libcrypto.so.1.1 等。

 

上图红框的要注意:

libcrypto.so.1.1 是从 /usr/local/openssl/lib/ 路径加载的,这通常意味着系统上可能安装了多个版本的 OpenSSL

并且这个特定版本的 libk5crypto 是配置为使用 /usr/local/openssl/lib/ 下的 OpenSSL 库。

当 libcrypto.so.1.1 是从 /usr/local/openssl111/lib/ 路径加载时,这意味着系统上的某个进程或库特别指定了这个非标准路径来获取 OpenSSL 库。

在 Unix 和 Linux 系统中,/usr/local/ 通常是预留给本地管理员安装软件的目录,这些软件不是通过系统的包管理器安装的。

 

解决方法: 删除 非标准库中的 libcrypto.so.1.1

$ find / -name 'libcrypto.so.1.1'
/usr/lib64/libcrypto.so.1.1
/usr/local/openssl111/lib/libcrypto.so.1.1

$ mv /usr/local/openssl111/lib/libcrypto.so.1.1 /usr/local/openssl111/lib/libcrypto.so.1.1_001

$ cd /usr/local/openssl111/lib/

$ ls -lha | grep libcrypto.so.1.1
lrwxrwxrwx 1 root root    16 1月  18 15:18 libcrypto.so -> libcrypto.so.1.1
lrwxrwxrwx 1 root root    20 3月  27 16:14 libcrypto.so.1.1 -> libcrypto.so.1.1_001
-rwxr-xr-x 1 root root  3.3M 1月  18 15:18 libcrypto.so.1.1_001

$ rm libcrypto.so.1.1
rm:是否删除符号链接 'libcrypto.so.1.1'?y

$ ls -lha | grep libcrypto.so.1.1
lrwxrwxrwx 1 root root    16 1月  18 15:18 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x 1 root root  3.3M 1月  18 15:18 libcrypto.so.1.1_001

$ rm libcrypto.so
rm:是否删除符号链接 'libcrypto.so'?y

$ yum --help
usage: yum [options] COMMAND
主要命令列表:
alias                     列出或创建命令别名
autoremove                删除所有原先因为依赖关系安装的不需要的软件包

 

删除完后我们再进行

ldd /lib64/libk5crypto.so.3

sudo yum install snapd 之后yum命令报错 libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1-CSDN博客

 

 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章