首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何更改libstdc++.so.6的版本?

如何更改libstdc++.so.6的版本?
EN

Stack Overflow用户
提问于 2018-06-10 08:25:34
回答 2查看 2.4K关注 0票数 1

我正在尝试将libstdc++.so.6从4.8.3更改为3.4.20。

我为什么要这么做?由于此错误:

文件"",第1行,位于ImportError: /usr/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.20‘( /var/lang/lib/python3.6/site-packages/lgraph.cpython-36m-x86_64-linux-gnu.so)需要

因此,我假设我必须更新版本。(我也试过安装gcc-8.0.1,但要么安装不正确,要么就是不起作用)。

代码语言:javascript
复制
Architecture: 2018 x86_64 x86_64 x86_64 GNU/Linux

Information:

$ bash-4.2# yum info gcc-c++

Installed Packages
Name        : gcc-c++
Arch        : noarch
Version     : 4.8.3
Release     : 3.20.amzn1
Size        : 0.0  
Repo        : installed
From repo   : amzn-main
Summary     : C++ support for GCC

I also ran this command:

bash-4.2# /sbin/ldconfig -p | grep stdc++
    libstdc++.so.6 (libc6,x86-64) => /usr/lib64/libstdc++.so.6
    libstdc++.so (libc6,x86-64) => /usr/lib64/libstdc++.so

顺便说一句,我是在一个docker容器上做这一切的(如果这很重要的话)。我正在运行的程序/包是基于以下内容构建的:

代码语言:javascript
复制
Information: 

Architecture: CEST 2018 x86_64 GNU/Linux

server:~$/sbin/ldconfig -p | grep stdc++
    libstdc++.so.6 (libc6,x86-64) => /usr/lib/libstdc++.so.6
    libstdc++.so.6 (libc6) => /usr/lib32/libstdc++.so.6
    libstdc++.so.5 (libc6) => /usr/lib32/libstdc++.so.5
    libstdc++.so (libc6,x86-64) => /usr/lib/libstdc++.so
    libstdc++.so (libc6) => /usr/lib32/libstdc++.so

server:~$gcc --version
gcc (GCC) 8.1.1 20180531
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 09:41:35

解决这个问题的最简单的方法是使用较旧的GCC安装(例如,像你运行的机器那样的GCC 4.8 )。另一种方法是简单地将所需的库复制到运行的机器上,并将它们的路径放在环境变量LD_LIBRARY_PATH中。

票数 1
EN

Stack Overflow用户

发布于 2018-06-10 14:42:00

我通过在我的停靠容器上手动安装gcc-8.0.1并将正确的路径添加到LD_LIBRARY_PATH修复了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50779615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档