Docker容器中加载动态依赖库(java:8镜像)
问题:
在使用海康工业相机时,部署到docker上,一直报缺少依赖库,OSError: libGCBase_gcc421_v3_0.so: cannot open shared object file: No such file or directory,进到容器里看了.so文件都有,就是加载不到,不知道为什么。
解决方法:
把海康相机的所有动态依赖库(.so文件)直接放到/lib/目录下,然后加载一下 原因就是没有加载到libGCBase_gcc421_v3_0.so这个文件,把文件加载到动态库里就可以了
# 从外部cp过去 docker cp /lib/ 容器名:/lib/ # 加载so /sbin/ldconfig # 问题到此解决
其他:
最开始在使用官方MVS软件下的的.so时发现文件不太一样,如果直接cp这些文件到docker下,用JNA加载会出现问题,需要加符号链接才能用。
# 加符号链接 ln -sf libMvCameraControl.so.3.1.3.0 libMvCameraControl.so