libcublas.so.11: undefined symbol和libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

问题一:OSError: /home/lf/anaconda3/envs/my/lib/python3.8/site-packages/nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

解决方法:
把你虚拟环境的lib库加入LD路径,解决。
1.sudo gedit ./.bashrc
2.export LD_LIBRARY_PATH=“/home/lf/anaconda3/envs/my/lib/python3.8/site-packages/nvidia/cublas/lib:$LD_LIBRARY_PATH”
3.启动 sudo source ./.bashrc,完整解决!

问题二:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found

报错信息:
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/lf/anaconda3/envs/my/lib/python3.8/site-packages/pandas/_libs/window/aggregations.cpython-38-x86_64-linux-gnu.so)

解决方法:
1.先看一眼有哪些GLIBCXX版本: strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
没有3.4.29版本
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28

2.查找现有的已存在的libstdc++.so.6的目录,sudo find /home -name libstdc++.so.6
一般anaconda3下的可以查看一下版本, strings /home/lf/anaconda3/envs/my/lib/libstdc++.so.6 | grep GLIBC
发现/home/lf/anaconda3/envs/my/lib/libstdc++.so.6,这个有 3.4.29版本
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

3.可以删除,在复制过去,也可以直接覆盖。问题就解决啦。
cp /home/lf/anaconda3/envs/my/lib/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/

4.如果都查不到的话,可以试一下装GCC对应版本,试试,我的直接在第3步就解决啦。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9
sudo apt install libstdc++6

你可能感兴趣的:(linux环境搭建,c++,开发语言)