gpt4 book ai didi

linux - 使用 Linux 加载程序时 ldconfig 错误 :"is not a symbolic link"

转载 作者:IT老高 更新时间:2023-10-28 12:38:41 28 4
gpt4 key购买 nike

运行时:

    sudo /sbin/ldconfig

出现如下错误:

    /sbin/ldconfig: /usr/local/lib/ is not a symbolic link

当我运行 file 命令时,会出现以下内容:

    file /usr/local/lib/
/usr/local/lib/: directory

/usr/local/lib/ 中,我使用了三个库。我在这里将它们称为 lib1lib2lib3

现在,当我对我的二进制文件执行 ldd 时,结果:

    lib1.so => not found
lib2.so => not found
lib3.so => /usr/local/lib/lib3.so (0x00216000)

但它们都与 /usr/local/lib/{lib1,lib2,lib3}.so 位于同一文件夹中。

每次运行ldconfig,都会出现同样的错误:

/usr/local/lib/ is not a symbolic link

我认为 /usr/local/lib 应该在 /etc/ld.conf.d/*.conf 中声明两次,但不是:

    sudo egrep '\/usr\/local' /etc/ld.so.conf.d/*
projectA.conf.old:/usr/local/projectA/lib
local.conf:/usr/local/lib

ld.so.conf只包含/etc/ld.so.conf.d/*.conf,所以这个*.old 没有被处理,它引用 /usr/local/projectA/lib.

经过一段时间的尝试,我删除了所有 lib1 和 lib2(有时我在二进制文件夹中对其进行了测试),出现了同样的错误。

最佳答案

我在使用 Oracle 11R2 客户端时遇到了这个问题。不确定 Oracle 安装程序是这样做的,还是在我到达之前有人这样做。不是 64 位 vs 32 位,都是 64 位。

错误是 libexpat.so.1 不是符号链接(symbolic link)。

原来有两个完全相同的文件,libexpat.so.1.5.2libexpat.so.1。删除有问题的文件并使其成为 1.5.2 版本的符号链接(symbolic link)会导致错误消失。

您希望知名名称成为当前版本的符号链接(symbolic link)是有道理的。如果你这样做,你最终得到一个陈旧的库的可能性就会降低。

关于linux - 使用 Linux 加载程序时 ldconfig 错误 :"is not a symbolic link",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11542255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com