首先先查看/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个库的信息
strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
如果找不着可以使用
sudo find / -name "libstdc++.so.6*"
结果如下:
/usr/lib/vmware-tools/lib32/libstdc++.so.6
/usr/lib/vmware-tools/lib32/libstdc++.so.6/libstdc++.so.6
/usr/lib/vmware-tools/lib64/libstdc++.so.6
/usr/lib/vmware-tools/lib64/libstdc++.so.6/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
find: ‘/run/user/1000/gvfs’: Permission denied
/home/follow/vmware-tools-distrib/lib/lib32/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib32/libstdc++.so.6/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib64/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib64/libstdc++.so.6/libstdc++.so.6
/home/follow/anaconda3/lib/libstdc++.so.6
/home/follow/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6
/home/follow/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
找
找到有GLIBCXX_3.4.21的库,ll查看它链接的具体库文件
root@ubuntu:~# ll /usr/lib/aarch64-linux-gnu/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Jul 4 2016 /usr/lib/aarch64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.21
libstdc++.so.6.0.21这个版本不包含GLIBCXX_3.4.22,我们使用更高版本的libstdc++.so来解决这个问题。
比如我的是
/home/follow/anaconda3/envs/yolo/lib/libstdc++.so.6 -> libstdc++.so.6.0.26*
(这个都支持到GLIBCXX_3.4.22了),接着只要把这个库libstdc++.so.6.0.26拷贝到报错的路径/usr/lib/aarch64-linux-gnu/,然后删除/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个软链接,重新再给建立一个链接到libstdc++.so.6.0.26这个库上。
sudo cp /opt/anaconda3/lib/libstdc++.so.6.0.26 /usr/lib/aarch64-linux-gnu
sudo rm /usr/lib/aarch64-linux-gnu/libstdc++.so.6
sudo ln -s /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.26 /usr/lib/aarch64-linux-gnu/libstdc++.so.6
ok了
版权声明:本文为cp562090732原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。