如何更新 libstdc++.so.6 或更改要在 Tensorflow、Python 上使用的文件

Posted

技术标签:

【中文标题】如何更新 libstdc++.so.6 或更改要在 Tensorflow、Python 上使用的文件【英文标题】:How to update libstdc++.so.6 or change the file to use on Tensorflow, Python 【发布时间】:2020-01-26 18:07:18 【问题描述】:

我在 Apache 服务器 CentOS6 上使用 Python3 和 Tensorflow 1.15。

现在,我正在努力解决这个错误。

它需要 GLIBCXX_3.4.17

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by /home/app/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so)

所以,现在我检查了 libstdc 版本。

strings /usr/lib64/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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

没有3.4.17

不过在 conda 目录下,还有另一个 libstdc++

strings /home/app/anaconda3/lib/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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH

所以我有两个想法。

    在 CentOS6 上更新 /usr/lib/64/libstdc++.so.6

sudo yum update libstdc++-devel

找不到包...

    强制python使用/home/app/anaconda3/lib/libstdc++.so.6

但我不知道如何......

如果您有任何想法,请帮助..

【问题讨论】:

【参考方案1】:

请参阅 https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic,它解释了如何确保链接器找到更新的 libstdc++.so.6

还有 https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths 上的 libstdc++ 常见问题解答

【讨论】:

以上是关于如何更新 libstdc++.so.6 或更改要在 Tensorflow、Python 上使用的文件的主要内容,如果未能解决你的问题,请参考以下文章

ldd 可执行文件如何找到 /usr/lib64/libstdc++.so.6?

如何手动设置使用哪个版本'libstdc++.so.6'而不是使用最新版本?

CentOS 6 - libstdc++ 没有这样的文件或目录? [关闭]

为编译器设置 libstdc++.so.6 位置

MATLAB 代码生成:/lib64/libstdc++.so.6:版本:未找到“GLIBCXX_3.4_20”

libstdc++.so.6:未找到版本 GLIBCXX_3.4.20