如何在NVIDIA Jetson上正确安装MariaDB Connector/C与mariadb Python包
NVIDIA Jetson AGX Xavier mariadb Python包导入报错解决方案
报错核心原因是Linux动态链接器无法识别你安装在/usr/local/lib/mariadb路径下的libmariadb.so.3依赖库,可通过以下三种方案解决:
方案1:临时生效(仅当前终端窗口可用)
- 执行导出动态库路径命令:
export LD_LIBRARY_PATH=/usr/local/lib/mariadb:$LD_LIBRARY_PATH
- 同一窗口内启动Python即可正常导入mariadb包,终端重启后配置失效。
方案2:永久生效(推荐)
- 将mariadb库路径写入系统动态链接配置:
- 新建专属配置文件:
sudo tee /etc/ld.so.conf.d/mariadb.conf <<< '/usr/local/lib/mariadb'
- 刷新系统动态链接缓存:
sudo ldconfig
- 配置完成后所有终端、重启设备都能正常导入mariadb包。
方案3:编译安装时直接修改库输出路径(无需额外改系统配置)
Jetson AGX Xavier为arm64架构,系统默认的动态库检索路径为/usr/lib/aarch64-linux-gnu,编译MariaDB Connector/C时指定库安装路径到该目录即可:
- 回到之前的Connector/C源码build目录,先清理旧编译缓存:
make clean rm -rf *
- 重新执行cmake编译配置,指定库安装路径:
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_LIBDIR=/usr/lib/aarch64-linux-gnu make sudo make install
- 重新安装mariadb Python包避免缓存问题:
pip uninstall -y mariadb && pip install mariadb
验证配置生效方法
执行以下命令,若输出中libmariadb.so.3对应的路径不是not found,说明配置正常:
ldd /home/gatekeeper/.local/lib/python3.6/site-packages/mariadb/_mariadb.cpython-36m-aarch64-linux-gnu.so | grep libmariadb
内容的提问来源于stack exchange,提问作者mattroos
相关产品推荐
相关产品推荐

