在 conda 环境中未找到 GLIBCXX 3.4.30

在 conda 环境中未找到 GLIBCXX 3.4.30

我正在我的 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

相关内容