docker环境动态链接库找不到liblpsolve55.so
问题描述
运行client,报错:
/App/quic/client_mt: error while loading shared libraries: liblpsolve55.so: cannot open shared object file: No such file or directory
解决方案
- 检查
liblpsolve55.so
是否存在
- 进入Docker容器并检查库文件是否已安装:
docker exec -it <container_name> bash
find / -name "liblpsolve55.so"
发现liblpsolve55.so
存在。
root@1e7ac1f7876e:/notebooks# find / -name "liblpsolve55.so"
/lib/modules/liblpsolve55.so
- 检查
LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
- 设置环境变量
export LD_LIBRARY_PATH=/lib/modules:$LD_LIBRARY_PATH
/App/quic/client_mt
- 运行
ldconfig
更新缓存
echo "/lib/modules" > /etc/ld.so.conf.d/lpsolve.conf
ldconfig
- 验证动态库依赖
ldd /App/quic/client_mt
如果输出中某些库显示 not found,需要确保这些库都存在并在 LD_LIBRARY_PATH 或系统库路径中。