Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python tensorflow模块对glibc的依赖性_Tensorflow - Fatal编程技术网

python tensorflow模块对glibc的依赖性

python tensorflow模块对glibc的依赖性,tensorflow,Tensorflow,我成功地从源代码构建了bazel和tensorflow,但在使用tensorflow模块时,出现以下错误: ./new_python/bin/python >>>import tensorflow as tf Error MSG: File "/home/niraj/Ansible/new_python/lib/python2.7/site-packages/‌​tensorflow/python/py‌​wrap_tensorflow.py", line 28, in &

我成功地从源代码构建了bazel和tensorflow,但在使用tensorflow模块时,出现以下错误:

./new_python/bin/python 
>>>import tensorflow as tf 
Error MSG: File "/home/niraj/Ansible/new_python/lib/python2.7/site-packages/‌​tensorflow/python/py‌​wrap_tensorflow.py", line 28, in <module> _pywrap_tensorflow = swig_import_helper()
ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/niraj/Ansible/new_python/lib/python2.7/site-packages/t‌​ensorflow/python/_py‌​wrap_tensorflow.so)
/new\u python/bin/python
>>>导入tensorflow作为tf
错误消息:文件“/home/niraj/Ansible/new_python/lib/python2.7/site-packages/‌​tensorflow/python/py‌​包裹tensorflow.py”,第28行,在py包裹tensorflow=swig_import_helper()中
ImportError:/lib64/libc.so.6:找不到版本'GLIBC_2.14'(由/home/niraj/Ansible/new_python/lib/python2.7/site-packages/t所需)‌​ensorflow/python/\u py‌​包裹(tensorflow.so)

我正在使用RHEL6机器。知道如何解决这个问题吗?

我在github上发现了两个关于这个问题的bug报告

至少我得到的印象是,让tensorflow在RHEL6上工作至少是“困难的”——正如在那两个BugReport中有人声称的那样,他们让它工作了,但有一些限制——如果不是的话,至少目前是不可能的

至少对于Ubuntu 12.04和CentOS 6.7。第二个答案(提到CentOS)也适用于RHEL 6

旧的/第一个答案:

根据我从答案中收集的信息,RHEL6使用的是libc2.12,而不是2.14


您必须再次编译tensorflow,并将其链接到系统上现有的libc2.14。我不太确定您是如何在系统中没有libc 2.14的情况下编译它的。

对我来说,关键在于通过以下方式更新glibc(在我的例子中是2.17版本):


添加详细的错误和获得错误的命令错误太长,并且堆栈溢出中存在字符数限制。我像这样使用它:./new_python/bin/python>>>导入tensorflow作为tf Error MSG:File“/home/niraj/Ansible/new_python/lib/python2.7/site packages/tensorflow/pywrap_tensorflow.py”,第28行,在_pywrap_tensorflow=swig_import_helper()importorror:/lib64/libc.so.6:找不到版本“GLIBC_2.14”(由/home/niraj/Ansible/new_python/lib/python2.7/site packages/tensorflow/python/_pywrap_tensorflow.so要求)请将整个错误消息编辑到您的答案中,而不是将其压缩到注释中。我试图从源代码构建tensorflow的可能重复项,但出现以下错误。错误:/servers/scratch03/niraj/tensorflow/tensorflow-0.12.0-rc0/tensorflow/core/build:970:1:没有此类包“@zlib_archive/”:错误:查询评估“deps”(//tensorflow/…)“失败:在计算传递闭包时遇到错误。我试图通过pip(tensorflow-0.5.0-cp27)安装它,但现在它说它需要GLIBC_2_17。这有什么办法可以摆脱GLIBC依赖性吗?@npandey我找到了方法。但他使用的tensorflow版本与你的版本(1.0)不同。您无法根据需要删除GLIBC引用;)但您可以针对不同版本的GLIBC进行编译,在您的情况下,您需要它来支持/反对GLIBC 2.12,而不是更高版本。@npandey必须搜索一下,但我想我偶然发现了一个适合您的解决方案。请参阅我的更新答案。
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm

sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm --force --nodeps