linux 水蟒libstdc++.so.6:找不到'GLIBCXX_3.4.20'版本

ef1yzkbh  于 2022-11-22  发布在  Linux
关注(0)|答案(8)|浏览(260)

我正在为Python使用Anaconda,我面临这个问题我尝试了很多来解决这个错误,但仍然没有解决。
到目前为止,我使用了以下命令

sudo apt-get install libstdc++6
sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

conda install libgcc

在这个link中提供了一个解决方案,但我仍然不知道如何实现

u3r8eeie

u3r8eeie1#

我遇到了同样的问题,当我运行jupyter notebook时,我得到了
ImportError: /home/cugtyt/software/miniconda3/lib/python3.6/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: versionGLIBCXX_3.4.20' not found (required by /home/cugtyt/software/miniconda3/lib/python3.6/site-packages/zmq/backend/cython/../../../../../libzmq.so.5)我通过以下方式解决它:conda uninstall gcc`
希望能对你有所帮助!

4smxwvx5

4smxwvx52#

我也遇到过类似的问题。

ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found

我已经解决了。步骤如下:

try conda install -c anaconda libstdcxx-ng, // didn't work
try conda update libstdcxx-ng // didn't work too

但当我执行命令时:locate libstdc++.so.6,发现了令人惊奇的事情,例如:/root/anaconda 3/lib/libstdc++.so.6.0.26,该文件显然比.so.6.0更新。
我试试:

strings /root/anaconda3/lib/libstdc++.so.6.0.26 | grep GLIBC
see [GLIBCXX_3.4.20][1]

这就是我要找的文件。
下一步:ls -l /root/anaconda3/lib/libstdc++.so.6.0.26-检查文件是否为真,而不是链接。
下一步:将/root/anaconda 3/lib/libstdc++.so.6.0.26复制到/lib 64。
下一步:ls -l /lib64/libstdc++.so.6-这是一个软链接,所以我可以放心地删除它。
下一步:rm -rf /lib 64/libstdc++.so.6
下一步:通过以下方式创建新的软链接:1999年12月16日
仅此而已。我运行代码没有错误。
上帝给予我智慧,荣耀归于上帝!

gijlo24d

gijlo24d3#

这是因为在升级gcc时,您有一些旧版本没有清除。
首先,确保您拥有conda install -c conda-forge libstdcxx-ng的最新库
1.用find / -name "libstdc++.so*"找到你所有的lib版本。我的最新版本是6.0.30。

/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0
/usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.so
/usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.so.6.0.29
/usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.so.6.0
/opt/conda/lib/libstdc++.so.6.0.29
/opt/conda/lib/libstdc++.so.6
/opt/conda/envs/xxx/lib/libstdc++.so.6.0.30
/opt/conda/envs/xxx/lib/libstdc++.so.6
/opt/conda/pkgs/libgcc-7.2.0-h69d50b8_2/lib/libstdc++.so.6.0.21
/opt/conda/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so.6.0.30
/opt/conda/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so.6
/opt/conda/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so

1.将文件复制到您正在使用的文件夹中,并且只有旧版本。/opt/conda/lib//opt/conda/envs/xxx/lib/
例如,我正在处理/opt/conda/lib/

cp /opt/conda/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so.6.0.30 /opt/conda/lib/

1.删除旧文件并链接最新的库。请对其他文件夹重复这些步骤。

cd /opt/conda/lib/
rm libstdc++.so.6.0.29
rm libstdc++.so.6.0
ln -s libstdc++.so.6.0.30 libstdc++.so.6
fnx2tebb

fnx2tebb4#

因为libgcc=5.2.0在conda中是不可用的,我用下面的方法来解决它:

conda uninstall cmake
pip install cmake
m1m5dgzv

m1m5dgzv5#

重新安装scipy库自动为我纠正了错误。

conda install scipy
brjng4g3

brjng4g36#

我使用曼巴(一种比康达更快的替代品)

mamba install libgcc

比它的工作。

s3fp2yjn

s3fp2yjn7#

我通过

conda install libgcc=5.2.0
xtupzzrd

xtupzzrd8#

对我有效的解决方案是:
conda install -c anaconda libstdcxx-ng

相关问题