python - 在 Redhat 6.8 上将 glibc 2.12 升级到 2.14 以使用 Tensorflow 和 Python

标签 python tensorflow glibc

我们的服务器在 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/

相关文章:

python - Spark 创建 numpy 数组 RDD 的最快方法

Python 和多线程

更改 glibc 但没有任何反应

c - Linux stat(2) 调用给出了不存在的设备 ID

c++ - <iterator> 引入的 sys/sysmacros.h 中定义的主要和次要宏

python - Python 的 types.FunctionType 如何创建动态函数?

python - Tensorflow - 用我自己的图像测试 mnist 神经网络

tensorflow - 由于内部错误,无法在解释器上运行 tflite 模型

tensorflow - 在训练模型上调用预测时,Tensorflow 中的 KeyError

tensorflow - 快速矩阵乘法和神经网络