获取 /usr/local/gcc-8.2/lib64/libstdc++.so.6:未找到版本“GLIBCXX_3.4.26”(/usr/lib/x86_64-linux-gnu/libjsoncpp.so.1 所需),为什么?

获取 /usr/local/gcc-8.2/lib64/libstdc++.so.6:未找到版本“GLIBCXX_3.4.26”(/usr/lib/x86_64-linux-gnu/libjsoncpp.so.1 所需),为什么?

获取

/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

相关内容