【问题】:执行项目脚本指令时,报错:
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /
【解决步骤】:
1.确保你的新 libstdc++.so.6.0.29
确实存在:
ls -l /usr/local/lib64/libstdc++.so.6.0.29
2. 如果它存在,继续执行以下命令:
1) 备份旧的 libstdc++
以防止错误:sudo mv /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.bak
2)重新创建 libstdc++.so.6
软链接:sudo ln -sf /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
3.让系统重新识别 libstdc++:sudo ldconfig
4.检查是否成功,再次运行:strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
——>发现GLIBCXX_3.4.29
仍然没有出现
5.可能是 ldconfig
没有正确加载 /usr/local/lib64,
手动添加 LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
6. 重新执行:strings /usr/local/lib64/libstdc++.so.6 | grep GLIBCXX
出现正确版本的
7.执行nano ~/.bashrc,添加export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
8. 执行source ~/.bashrc,再进入环境中,进行python train.py(脚本指令),问题解决!