获取
/usr/local/gcc-8.2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1)
为什么?
我一直收到这个错误。
最近我尝试跑步cmake
并得到了它。
这种事已经发生过多次了。
我使用的是 Ubuntu 20.04,一切都是最新的,所以我假设gcc
也是如此。然而,这种情况最近发生了不止一次。
如果我按照其他帖子所推荐的方式执行字符串操作,它就会显示出来,这让它变得更加奇怪。
为什么会发生这种情况,这意味着什么,维护代码的人是怎么知道的,我该如何修复它?
答案1
通常此类必需库不应放置在 中/usr/local/lib
。
因此,您必须使用以下命令将有问题的库移出
mkdir ~/from-usr-local
sudo mv /usr/local/gcc-8.2/lib64/libstdc++.so.6 ~/from-usr-local/
或者将整个有问题的文件夹移出
sudo mv /usr/local/gcc-8.2 ~/from-usr-local/
然后重试。
请注意,所有必要的系统级软件都包含在存储库中。但/usr/local
正如您已经看到的,包含它们会导致问题。您可以使用以下命令安装所有需要的系统内容
sudo apt-get install cmake gcc gcc-8 build-essential --reinstall
然后重试运行cmake
。如果问题仍然存在 - 请仔细检查 的内容/usr/local
。