【问题标题】:CentOS 7: libstdc++.so.6: version `CXXABI_1.3.9' not foundCentOS 7:libstdc++.so.6:找不到版本“CXXABI_1.3.9”
【发布时间】:2018-07-27 15:56:41
【问题描述】:

我在 CentOS 7 上使用 PyCharm 运行 python 脚本。该脚本导入 tensorflow 并为脚本分配一些 GPU 内存。

直到昨天,该脚本运行良好,没有任何问题。我不确定为什么会这样。我在 CentOS 上运行以下版本的 gcc 和 libstdc++

>> rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.8.5-16.el7_4.1.i686

>> echo $LD_LIBRARY_PATH
/usr/local/lib64/:/usr/local/cuda-8.0/lib64:/usr/lib64/mpich/lib:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64

>> echo $LD_PRELOAD

blank output

>> hostnamectl

  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-693.2.2.el7.x86_64
      Architecture: x86-64

我的 anaconda 环境中有 libgcc 7.2.0 版本。

解决此问题的一些堆栈流答案与 Ubuntu 系统有关,而不是 CentOS

我收到以下错误

from google.protobuf import descriptor as _descriptor
  File "/home/user_name/anaconda/envs/tokyo/lib/python3.6/site-packages/google/protobuf/descriptor.py", line 46, in <module>
    from google.protobuf.pyext import _message
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/rmulpuri/anaconda/envs/tokyo/lib/python3.6/site-packages/google/protobuf/pyext/_message.cpython-36m-x86_64-linux-gnu.so)

【问题讨论】:

  • 尝试从 pip 重新安装 tensorflow。操作系统可能会更新,安装期间 tensorflow 会构建内容。
  • 我在路径中看到 anaconda,尝试从 conda 重新安装
  • 在 conda 环境中重新安装 tensorflow-gpu ?我之前运行的是 GPU 版本的 tensorflow
  • 再次使用 conda 安装 tensorflow 没有帮助
  • 同样的事情也发生在我身上。我在 CentOS 7 上使用 anaconda。当我从 pip 安装 tensorflow 但从 conda(已经安装)安装 protobuf 时,我遇到了同样的错误。我通过删除 protobuf(从 conda)然后从 pip 重新安装它解决了这个问题。

标签: gcc tensorflow centos pycharm anaconda


【解决方案1】:

在 CentOS 7 上遇到与 zmq 类似的问题,我想出了一个解决方法,因为全新的安装和环境没有帮助。

原来的问题是:

(mtango-py)$ python -c "import zmq"
  ...
  ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/me/opt/miniconda2/envs/mtango-py/lib/python3.5/site-packages/zmq/backend/cython/../../../../../libzmq.so.5.1.2)

通过在使用 LD_PRELOAD 之前加载库:

(mtango-py)$ export LD_PRELOAD=$CONDA_PREFIX/lib/libstdc++.so
(mtango-py)$ python -c "import zmq"                          
(mtango-py)$

这个答案并不能解决根本问题。如果系统不兼容,Conda 应该加载环境库。

【讨论】:

  • 我终于发现有些软件包已经安装了 sudo pip,这破坏了系统模块,可能是一些不兼容的轮子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 2017-11-30
  • 2019-05-04
  • 1970-01-01
  • 2015-06-05
  • 2018-07-05
相关资源
最近更新 更多