Writen by 六个肾的派大星
问题描述 :
在课题组的Ubuntu服务器上跑yolov8的模型实验,在改IoU的时候,出现了这个问题:
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/chen/anaconda3/envs/yolo_v7/lib/python3.8/site-packages/google/protobuf/pyext/_message.cpython-38-x86_64-linux-gnu.so)
解决办法:
方法一:在 conda 环境中安装 GCC 和 G++
conda install -c conda-forge gcc=12.3.0
conda install -c conda-forge gxx=12.3.0
我只使用了第一个安装gcc,下面的的没用就好使了,但是在stack overflow上有大佬给出的解决方案。
解决方法简单粗暴,这个错误一般是系统和gcc版本匹配,可能是因为我前段时间因为一些编译问题,弄了一下gcc导致的。升级gcc版本就是最简单的方法。
方法二:手动添加路径
这个方法就是重新指定一下加载库的路径,网上一搜就有很多的这种方法。
strings /home/usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.30
strings /path-to-your-conda-env/lib/libstdc++.so.6 | grep GLIBCXX_3.4.30
export LD_LIBRARY_PATH=/path-to-your-conda-env/lib:$LD_LIBRARY_PATH