无根升级glibc

问题描述:

我一直在试图让张量流在我的大学集群上运行,但没有取得太大的成功。我猜测集群正在运行CentOS 6,但我猜一些部分正在运行CentOS 7.无根升级glibc

由于权限问题,我安装python软件包时遇到了很多麻烦。我能够通过使用virtualenv来解决这个问题,这对我想做的事情来说非常完美。

现在,我已经安装了张量流。但是,当我尝试将其导入到蟒蛇,我得到的错误:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module> 
    from tensorflow.python import * 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 49, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module> 
    raise ImportError(msg) 
ImportError: Traceback (most recent call last): 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module> 
    from tensorflow.python.pywrap_tensorflow_internal import * 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module> 
    _pywrap_tensorflow_internal = swig_import_helper() 
    File "/home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper 
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) 
ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/ugrad/marsden/virt_env/tensorflow/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so) 

从最后一行,我推测,CentOS的有太多旧版本的glibc。关于升级GLIBC的堆栈交换有很多东西,但我们又遇到了权限问题。

我想要的是在独立的目录中安装或编译GLIBC的升级版本,然后能够在我的虚拟环境中使用它。这是可能的,如果是的话,我需要做些什么?

如果我的问题没有意义或需要更多细节,请告诉我。

+0

您是否考虑过从系统管理员(或教师)寻求帮助? –

tensorflow确实存在泊坞窗图像。大学允许你使用码头吗? - 如果是这样,那么这将是最简单的解决方案。

如果你不能使用docker镜像,我会考虑虚拟化,如果这不是一个选项,我会考虑创建一个chroot环境或者使用环境模块来指示操作系统从正确的位置读取glibc 。您应该能够使用--prefix =/your/home /目录编译glibc,但您可能必须先编译一些依赖关系。