ppa GLIBCXX_3.4.20 未找到,如何修复这个错误?

分享于 

4分钟阅读

ubuntu

  繁體

问题

我尝试在Ubuntu 14.04.1 64-bit LTS上运行程序布局编辑器(在此站点上可下载),在终端中得到以下输出:


$ layout


layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)



我尝试了strings命令/usr/lib/x86_64-linux-gnu/libstdc++.so.6 下面是输入和输出:


$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX


GLIBCXX_3.4


GLIBCXX_3.4.1


GLIBCXX_3.4.2


GLIBCXX_3.4.3


GLIBCXX_3.4.4


GLIBCXX_3.4.5


GLIBCXX_3.4.6


GLIBCXX_3.4.7


GLIBCXX_3.4.8


GLIBCXX_3.4.9


GLIBCXX_3.4.10


GLIBCXX_3.4.11


GLIBCXX_3.4.12


GLIBCXX_3.4.13


GLIBCXX_3.4.14


GLIBCXX_3.4.15


GLIBCXX_3.4.16


GLIBCXX_3.4.17


GLIBCXX_3.4.18


GLIBCXX_3.4.19


GLIBCXX_DEBUG_MESSAGE_LENGTH




答案1

只需执行以下命令:


sudo apt-get install libstdc++6



默认情况下应该已经安装了此工具,但还是尝试安装一下。如果不能解决,只需执行以下操作:


sudo add-apt-repository ppa:ubuntu-toolchain-r/test 


sudo apt-get update


sudo apt-get upgrade


sudo apt-get dist-upgrade




答案2

我使用Anaconda 4.0.0,我修复问题的方法是,在环境中运行这个命令:


conda install libgcc




答案3

我遇到了这个问题,因为没有GLIBCXX_3.4.20版本,

按照以下步骤解决这个问题:

转到正确的位置,并备份当前的Anaconda2快捷方式(更改其名称,使其不被覆盖):


cd ~/anaconda2/lib


mv -vf libstdc++.so.6 libstdc++.so.6.old



使用ln命令创建新快捷方式(我假定我在前一个位置~/anaconda2/lib):


ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6



现在应该有用了!


答案4

我在CentOS上解决了,库是gcc编译器的一部分,所以需要安装或编译gcc的适当版本,这是gcc的版本表和适当的libstdc++的版本:


GCC 4.9.0: libstdc++.so.6.0.20


GCC 5.1.0: libstdc++.so.6.0.21


GCC 6.1.0: libstdc++.so.6.0.22


GCC 7.1.0: libstdc++.so.6.0.23


GCC 7.2.0: libstdc++.so.6.0.24


GCC 8.0.0: libstdc++.so.6.0.25



它与如何安装gcc无关-,它可以从包中安装,也可以从源代码编译和安装。

例如在命令行中查找库,如下所示:


$ LD_LIBRARY_PATH=/usr/local/lib64 command args ...




答案5

通过以下方式解决:


sudo apt-get dist-upgrade




答案6


sudo cp /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6 /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6.0.20 /usr/lib/x86_64_linux-gnu/





FIX  GLIB  Glibc  
相关文章