解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found

看看是不是真缺少

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

(base) cjc@cjc:~/Desktop$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
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_DEBUG_MESSAGE_LENGTH

找一下这个文件。系统里有很多

sudo find / -name "libstdc++.so.6*"

/opt/nvidia/nsight-systems/2022.1.3/host-linux-x64/libstdc++.so.6
/opt/nvidia/nsight-compute/2022.2.1/host/linux-desktop-glibc_2_11_3-x64/libstdc++.so.6
/home/cjc/anaconda3/envs/django/lib/libstdc++.so.6
/home/cjc/anaconda3/envs/django/lib/libstdc++.so.6.0.29
/home/cjc/anaconda3/envs/yolov7/lib/libstdc++.so.6
/home/cjc/anaconda3/envs/yolov7/lib/libstdc++.so.6.0.30
/home/cjc/anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6
/home/cjc/anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28
/home/cjc/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6
/home/cjc/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6.0.29
/home/cjc/anaconda3/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so.6
/home/cjc/anaconda3/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib/libstdc++.so.6

选最大版本  home/cjc/anaconda3/envs/yolov7/lib/libstdc++.so.6.0.30,看看是否包含想要的东西。

strings /home/cjc/anaconda3/envs/yolov7/lib/libstdc++.so.6.0.30 | grep GLIBCXX

然后经典的拷贝过去,删除原来的,做个软连接完事


sudo cp /home/cjc/anaconda3/envs/yolov7/lib/libstdc++.so.6.0.30 /usr/lib/x86_64-linux-gnu/
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

你可能感兴趣的:(linux,运维,服务器)