晚上好🌙🌙🌙
本答案参考通义千问
这个错误信息表明你的系统缺少或版本过低的 libstdc++ 库,具体是 CXXABI_1.3.15 这个符号。这是由于你使用的某些库(如 libtbb.so.12)需要较新的 libstdc++ 版本,而当前系统中安装的版本不满足要求。
✅ 解决方案:
1. 更新系统库
首先尝试更新系统包,确保所有依赖项是最新的:
sudo apt update && sudo apt upgrade -y
这可能修复一些兼容性问题,但有时还不够。
2. 安装或升级 libstdc++
方法一:使用 apt 安装最新版本
sudo apt install libstdc++6
如果此命令没有提供足够新版本,可以尝试以下方法。
方法二:手动下载并安装 libstdc++
你可以从 Ubuntu 的官方仓库 下载对应的 .deb 文件,并手动安装。
例如,下载 libstdc++6 的最新版本(如 libstdc++6_10.3.0-1ubuntu1~20.04_amd64.deb):
wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-9/libstdc++6_10.3.0-1ubuntu1~20.04_amd64.deb
sudo dpkg -i libstdc++6_10.3.0-1ubuntu1~20.04_amd64.deb
注意: 确保选择与你的 Ubuntu 版本匹配的版本。
3. 创建软链接(临时解决方案)
如果无法升级,可以尝试创建软链接来指向一个更高版本的 libstdc++.so.6。
假设你已经安装了某个高版本的 libstdc++.so.6(比如 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28),可以这样做:
sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
注意: 此操作可能会导致其他程序出错,请谨慎操作。
4. 使用 conda 环境中的 libstdc++
如果你在使用 Anaconda 环境(如 fmnet),可以尝试在该环境中安装或更新 libstdc++:
conda install -c conda-forge libstdcxx-ng
或者:
conda install -c conda-forge gcc=11
这将为你的环境提供更现代的 C++ 标准库支持。
5. 检查是否为 WSL 兼容性问题
WSL 中有些库可能与原生 Linux 不完全兼容。你可以尝试:
wsl --shutdown
然后重新启动 WSL。
- 使用 WSL2:确保你正在使用 WSL2 而不是 WSL1,因为 WSL2 更接近原生 Linux 环境。
✅ 总结
| 步骤 | 操作 |
|------|------|
| 1 | 更新系统包:sudo apt update && sudo apt upgrade -y |
| 2 | 安装或升级 libstdc++6:sudo apt install libstdc++6 |
| 3 | 手动下载并安装新版 libstdc++(如 .deb 包) |
| 4 | 创建软链接(如 ln -sf ...) |
| 5 | 在 Conda 环境中安装 libstdcxx-ng 或 gcc=11 |
| 6 | 检查 WSL 设置,确保使用 WSL2 并重启 |
🔧 如果仍然失败,建议:
ldd /home/shanjin/anaconda3/envs/fmnet/lib/python3.8/site-packages/../../././libtbb.so.12
strings /home/shanjin/anaconda3/envs/fmnet/lib/python3.8/site-packages/../../././libtbb.so.12 | grep CXXABI_1.3.15
如果你能提供具体的系统版本(如 Ubuntu 20.04、22.04 等),我可以给出更精确的解决方案。