如何更新 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++ 没有这样的文件或目录? [关闭]