Ves*_*nog 117 ppa shared-library gcc libraries
我尝试在 Ubuntu 14.04.1 64 位 LTS 上运行程序布局编辑器(可在此站点上获得)我在终端中得到以下输出:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
Run Code Online (Sandbox Code Playgroud)
我试着命令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
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题我以某种方式猜测它与相关GCC
但无法弄清楚如何解决这个问题。此外,我已经按照如何在 Ubuntu 上使用最新的 GCC?并且在GLIBCXX_3.4.15 not found 上有一个针对旧版本 Ubuntu 的类似问题。然而,当我跑了sudo update
,我得到很多的警告,我和字符串命令获得的名单安装后没有新的项目gcc 4.9
,所以我清除了PPA(工具链测试构建)与ppa-purge
。非常感谢任何帮助,关于如何进行的建议。
小智 115
我在尝试运行其他程序时遇到了同样的问题,并在StackOverflow上找到了解决方案。
基本上,只需执行以下命令:首先,安装:
sudo apt-get install libstdc++6
Run Code Online (Sandbox Code Playgroud)
默认情况下应该已经安装了它,但无论如何都要尝试。如果它没有解决它,只需执行以下操作:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
我没有执行“dist-upgrade”命令,但之前的那些为我解决了
t-b*_*ltg 65
anaconda 4.0.0 发生在我身上(如@mjp 所述),但对我来说解决方法是在我的环境中运行此命令:
conda install libgcc
Run Code Online (Sandbox Code Playgroud)
mjp*_*mjp 16
我遇到了这个问题 - 这是因为Anaconda2
没有 GLIBCXX_3.4.20 版本的任何东西。仅高达 0.19,与您的相同。
但是,Ubuntu 的库确实有它。所以我刚刚在 Anaconda 库中创建了一个指向包含 GLIBCXX_3.4.20 的实际 Linux 库的软链接/快捷方式,替换了前一个,并且在重新启动 python GUI (Spyder) 后它工作正常。
libstdc++.so.6
Anaconda 库中应该有一个文件夹,它在这里:~/anaconda2/lib
. 此文件夹中包含脚本/库代码事物的版本,不包括您缺少的版本:GLIBCXX_3.4.20
请按照以下步骤解决问题:
转到正确的位置并备份您当前的anaconda2
快捷方式(更改其名称以使其不被覆盖):
cd ~/anaconda2/lib
mv -vf libstdc++.so.6 libstdc++.so.6.old
Run Code Online (Sandbox Code Playgroud)使用ln
命令创建一个新的快捷方式(我假设我在之前的位置 ~/anaconda2/lib):
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)重新启动 spyder/您使用的其他界面
它现在应该可以工作了!
小智 8
我在 CentOS 上解决了这样的问题(但 GLIBCXX_3.4.21),但它不依赖于 os。该库是 gcc 编译器的一部分,因此需要安装或编译适当版本的 gcc。这是 gcc 版本和相应 libstdc++ 版本的表格:
Run Code Online (Sandbox Code Playgroud)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 - 它可以从包安装或从源代码编译和安装。
系统 gcc 库可能是可用的,而不是新安装的。所以需要指定环境变量在哪里可以找到库,例如在命令行中,如下所示:
$ LD_LIBRARY_PATH=/usr/local/lib64 command args ...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
405436 次 |
最近记录: |