/sbin/ldconfig.real: /usr/lib/libstdc++.so.5 不是符号链接

/sbin/ldconfig.real: /usr/lib/libstdc++.so.5 不是符号链接

我一直收到这个错误:

fmf@kodi:~$ sudo ldconfig  
/sbin/ldconfig.real: /usr/lib/libstdc++.so.5 is not a symbolic link  

有什么办法可以修复它吗?

fmf@kodi:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial

答案1

最可能的原因是,有两个文件几乎同名,内容也完全相同,其中一个应该是另一个的符号链接,但实际上不是。以下是我的两个文件,/usr/lib它们都没有问题

libgimpui-2.0.so.0 -> libgimpui-2.0.so.0.800.16
libgimpui-2.0.so.0.800.16 

(此符号链接是为了让寻找的程序libgimpui-2.0.so.0能够找到较新的版本)

您显然有libstdc++.so.5一个相关文件,例如libstdc++.so.5.300.0或可能libstdc++.so.6,并且它们的内容完全相同。执行cd /usr/lib; ls并查看是否是这种情况。

检查两个文件是否相同,例如执行(在此命令中替换正确的文件名):

diff libstdc++.so.5 libstdc++.so.[rest.of.filename]

如果它们相同,diff则不返回任何输出。

当且仅当它们相同,删除libstdc++.so.5并创建指向具有该名称的另一个文件的符号链接。

sudo rm libstdc++.so.5
sudo ln -s libstdc++.so.[rest.of.filename] libstdc++.so.5

基于Stack Overflow 上的这个问题

相关内容