我正在我的 conda 环境中使用 pip 安装一个包,但一直收到此错误:
ImportError: /home/anavani/anaconda3/envs/dmcgb/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-13.so.1)
我查看了以前的 Stack Overflow 帖子,发现这我按照最上面的评论所说的去做并运行了以下命令:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
当我运行strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
检查 GLIBCXX 的最新版本时,我得到以下输出:
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
所以我不确定安装 GLIBCXX_3.4.30 时出了什么问题。
任何帮助都将不胜感激。我正在运行 Ubuntu 22.04 LTS
答案1
我遇到了一个非常类似的问题,并通过将 lib 文件链接到 conda 环境解决了它。对于您的情况,您可以尝试以下操作:
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/anavani/anaconda3/envs/dmcgb/bin/../lib/libstdc++.so.6
答案2
我也遇到过类似的问题,按照Jason的回答,我使用“ln”命令解决了。因为我已经在/usr/lib/x86_64-linux-gnu/libstdc++.so.6中有了GLIBCXX_3.4.30。然后将其与cython中使用的库链接起来。Scipy包通常会出现这种问题。
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $HOME/miniconda3/envs/myenv/lib/python3.8/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6
答案3
就我而言,我遇到了类似的问题:
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29` not found (required by /home/<username>/miniconda3/envs/<env_name>/lib/python3.9/site-packages/google/protobuf/pyext/_message.cpython-39-x86_64-linux-gnu.so)
从错误消息中可以看出,此错误是由于miniconda3
,所以我添加了以下库,LD_LIBRARY_PATH
在某些情况下它对我有用
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/<username>/miniconda3/lib
但可能有更方便的方法来解决这个问题。
答案4
遇到了同样的问题,似乎通过 conda 安装 cmake 就可以了。
conda install cmake