运行时:
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/
有我使用的三个库。我在这里称它们为lib1
,lib2
和lib3
。
现在,当我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(有时我在二进制文件夹中对其进行了测试),发生了同样的错误。