我试图在Centos 5上安装Tensorflow。 不幸的是,正如官方文档中所解释的那样,用pip安装它之后
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
当我尝试在python shell上导入tensorflow时出现以下错误
导入错误: /home/users/caohao/.jumbo/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so: ELF文件OS ABI无效
github上的以下问题让我领先: https://github.com/tensorflow/tensorflow/issues/350
实际上,tensorflow要求glibc版本至少为2.17
当我输入
ldd --version
我有以下输出:
ldd (GNU libc) 2.5
所以我需要升级glibc。 我想表演一个" parallel"安装,因为升级glibc可能对我的机器有危险 所以我下载了源码,然后使用命令
../ glibc-2.18 / configure --prefix = / opt / glibc-2.18
将其安装在其他目录中
问题是我启动configure
时出现以下错误configure:错误:汇编程序太旧,.cfi_personality支持缺失
我想我也必须更新binutils,所以我下载了源代码并将其安装在/opt/binutils-2.26/中以免损害系统。
但是当我尝试配置glibc时,我仍然遇到同样的错误。
以下是我的问题:
如何指定我想用哪个版本的binutil来构建glibc?
编辑:我应该有RTFM,回答是使用'--with-binutils = directory'选项
如果将glorc安装在/opt/glibc-2.18中,怎么能让它成为好的glibc版本?
仅供参考我使用python 2.7.11
非常感谢和最诚挚的问候
答案 0 :(得分:2)
我有同样的问题。
但我使用的是CentOS 6.5,我的GLIBC(GNU libc)版本是2.12。
我尝试通过删除版本2.12并安装2.17来手动更改我的GLIBC版本。
它的依赖关系出现了很多问题,无法导入TensorFlow。
所以,我使用了 CentOS 7.0,它的默认GLIBC版本为2.17。
我可以使用CentOS 7.0安装和运行TensorFlow,没有任何问题。
谢谢。
答案 1 :(得分:0)
我认为张量流正好需要GLIB 2.17 而不是2.18。 由于某种原因,它得到了硬编码。
另见: Error while importing Tensorflow in python2.7 in Ubuntu 12.04. 'GLIBC_2.17 not found'