常见问 题(FAQ)
安装与导入
pip install 报安装包与平台不兼容
ERROR: onnxruntime_musa-...-cp310-cp310-linux_aarch64.whl is not a supported wheel on this platform.
安装包为 cp310 + aarch64,Python 版本或架构不匹配时报此错。核对两项:
python3 --version # 应为 Python 3.10.x
uname -m # 应为 aarch64
import onnxruntime 报 GLIBCXX 或 GLIBC 符号缺失
ImportError: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found
ImportError: /usr/lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
设备的 C++ / C 运行时版本低于安装包的构建环境,与 MUSA 无关。安装包面向 Ubuntu 22.04,在更低版本的 发行版上会出现此类报错。
处理方式:在 Ubuntu 22.04 环境中运行,或升级系统的 libstdc++6。可先确认当前系统提供的版本:
strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep -c GLIBCXX_3.4.30
输出为 1 表示该符号存在,为 0 表示不存在。
ModuleNotFoundError: No module named 'onnxruntime.capi'
在包含 onnxruntime 同名目录的路径下执行 Python 导致导入路径冲突。切换到其他目录后重试:
cd /tmp
python3 -c "import onnxruntime as ort; print(ort.__version__)"
版本号不是 1.23.0+musa.04f2c3f1
环境中存在其他 ONNX Runtime 版本并被优先加载,常见于用户目录(user-site)中安装过其他版本。该情况不产生任何报错,但实际运行的是另一个引擎。
cd /tmp
python3 -c "import onnxruntime as ort; print(ort.__version__); print(ort.__file__)"
__file__ 若落在 ~/.local/lib/python3.10/site-packages/ 下即可确认。处理方式见安装与验证。
设备与运行环境
MUSAExecutionProvider 不在 providers 列表中
按顺序确认三项:
mthreads-smi # GPU 与驱动是否就绪
ls -l /usr/local/musa/lib/libmusart.so* # 应含 libmusart.so.5
printf 'LD_LIBRARY_PATH=%s\n' "$LD_LIBRARY_PATH"
若 LD_LIBRARY_PATH 为空或不含 /usr/local/musa/lib,显式导出后重试:
export LD_LIBRARY_PATH=/usr/local/musa/lib:$LD_LIBRARY_PATH
判断 MUSA SDK 版本请勿使用 dpkg 或 ldconfig -p,原因见环境准备与部署。
libmusart.so.4: cannot open shared object file
设备的 MUSA SDK 为 4.1.2(libmusart.so.4),而本安装包链接 libmusart.so.5(SDK 5.1.0)。
两者的 wheel 文件名完全相同,只能通过下载路径区分。请改用 MUSA SDK 4.1.2 环境对应的安装包,或将设备的 MUSA SDK 升 级至 5.1.0。
initialization error 或 CreatePlatform failed!
当前用户没有 GPU 设备节点的访问权限。通过 SSH 登录且桌面未解锁时,该问题会概率性出现。
sudo usermod -aG render,video $USER
执行后重新登录或重启设备,再次验证。