如何找到包含 RHEL 6 的 GLIBCXX_3.4.19 的 libstdc++.so.6: ?

Dr.*_*ade 7 linux libstdc++ rhel6 tensorflow

我使用 Linux 服务器:

> cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Run Code Online (Sandbox Code Playgroud)

(来自维基百科: Red Hat Enterprise Linux 6是从Fedora 12分叉出来的

6.7, also termed Update 7, 22 July 2015 (kernel 2.6.32-573)
6.8, also termed Update 8, 10 May 2016 (kernel 2.6.32-642))
Run Code Online (Sandbox Code Playgroud)

内核

> uname -r
2.6.32-642.11.1.el6.x86_64

> uname -s
Linux

> uname -v
#1 SMP Tue Nov 15 22:57:18 EST 2016

> cat /proc/version
Linux version 2.6.32-642.11.1.el6.x86_64 (sandman@node3res7) (gcc version 4.4.7 20120313 (SuSE 4.4.7-17) (GCC) ) 
#1 SMP Tue Nov 15 22:57:18 EST 2016
Run Code Online (Sandbox Code Playgroud)

海湾合作委员会版本

> gcc --version
gcc (GCC) 4.4.7 20120313 (SuSE 4.4.7-17)
Run Code Online (Sandbox Code Playgroud)

尝试安装 Tensdorflow 时,我遇到了一些缺少库的问题:

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /opt/ccda/anaconda2/envs/tensorflow35/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so)
Run Code Online (Sandbox Code Playgroud)

正如你在我的lib64/libstdc++.so.6 中看到的,我没有GLIBCXX_3.4.19

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4 
GLIBCXX_3.4.1  
....  
GLIBCXX_3.4.12  
GLIBCXX_3.4.13  
GLIBCXX_FORCE_NEW  
GLIBCXX_DEBUG_MESSAGE_LENGTH 
Run Code Online (Sandbox Code Playgroud)

我用以下命令查看:

yum whatprovides */libstdc++.so.6
...
libstdc++-4.4.7-17.el6.x86_64 : GNU Standard C++ Library
Repo        : installed
Matched from:
Filename    : /usr/lib64/libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

所以我的问题是在哪里可以找到包含GLIBCXX_3.4.19libstdc++-4.xy- z.el6.x86_64并且我可以使用我的 gcc 版本在我的服务器 RHEL 6 上安装它?

我有点困惑从这个页面使用哪个版本 https://www.rpmfind.net/linux/rpm2html/search.php?query=libstdc%2B%2B.so.6%28GLIBCXX_3.4.19%29&submit=搜索+...&system=&arch=

  1. 我没有看到 Fedora 12 或 RHEL6 的版本
  2. 我需要拱形 x86_64
  3. 我需要我猜一些 gcc (GCC) 4.4.7
  4. 我想我需要 64 位

我下面的一个好math?我对名称和信息感到非常困惑:

libstdc++6-gcc48-32bit-4.8.5-21.1.x86_64.html   The standard C++ shared library OpenSuSE leap updates for 42.1  libstdc++6-gcc48-32bit-4.8.5-21.1.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

我在服务器上没有 Internet 访问权限,因此我需要将文件下载到本地并将其复制到服务器上并执行 intsallion。

感谢您的帮助
干杯
法比安

ps:奖金问题SuSE 4.4.7-17(GCC),我很困惑,我明白Suse是像Redhat这样的Linux发行版!

Mic*_*tti 3

我在这里找到了一个解决方案: https : //www.linuxquestions.org/questions/red-hat-31/lib-libstdc-so-6-version-%60glibcxx_3-4-15'-not-found-4175419985/

将 libstdc++-so.6 替换为可在 EL6 中运行的更高版本: 使用以下命令解压 libstdc++6_4.7.1-2_i386.deb http://ftp.de.debian.org/debian/pool...7.1-2_i386.deb : ar -x libstdc++6_4.7.1-2_i386.deb && tar xvf data.tar.gz 下一步: 1) su ; 2) cp libstdc++.so.6.0.17 /usr/lib/ 3) cd /usr/lib/ && rm libstdc++.so.6 4) ln -s libstdc++.so.6.17 libstdc++.so.6

建议使用 Debian 软件包的原因:它是一个 ( gcc ) libstdc++ 版本,使用足够旧的 glibc 进行编译,可以在 EL6 / CentOS 6 中使用。