我们的服务器在 Redhat 6.8 上运行,并安装了 Anaconda Python 3.6.1。
我们尝试导入 python 模块:Keras/Tensorflow,发现我们需要将 Glibc 从 2.12 升级到 2.14 才能使其正常工作。
我们根据此链接How to upgrade glibc from version 2.12 to 2.14 on CentOS?中的说明下载并安装了Glibc 2.14作为单独安装。
然后,我们尝试在 Python python 解释器中导入 Keras 模块,它给出了错误“Segmentation failure (core dumped)”错误,并返回到操作系统命令提示符。在我们安装 Glibc 2.14 之前,它给我们一个错误 Glibc 2.14 not find。
这是我们从一开始就安装 Tensorflow 的链接。 https://www.tensorflow.org/install/install_linux#InstallingAnaconda
有人知道如何解决这个问题吗?
谢谢!
最佳答案
您链接到的答案不正确。您可以安装第二个 glibc,但您仍然应该使用 --prefix=/usr
编译它(并使用 DESTDIR
安装它),并且必须使用显式链接器调用,类似于构建根中的 testrun.sh
脚本的作用。对于第一次试用,您可以直接使用 testrun.sh
运行程序二进制文件,甚至无需将 glibc 安装到目标目录。
glibc wiki 有 testing instructions 。这些也适用于使用新构建(但未安装)的 glibc 运行您自己的应用程序。
如果您仅使用LD_LIBRARY_PATH
,您将遇到随机崩溃,因为动态链接器和库的其余部分不匹配。关于 testrun.sh
方法有一些注意事项,因为它不提供完全隔离,但它通常会给出相当不错的结果。但是,与 LD_LIBRARY_PATH 方法不同,它不会自动扩展到其他 glibc 下运行的进程启动的所有子程序。
请注意,在这种情况下升级到 Red Hat Enterprise Linux 7 可能会更容易(它提供开箱即用的 glibc 2.17)。
关于python - 在 Redhat 6.8 上将 glibc 2.12 升级到 2.14 以使用 Tensorflow 和 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45424797/