autoware-ssd:caffe 编译报错 libhdf5_hl.so.10: cannot open shared object file: No such file or directory
2017-06-22 23:46
781 查看
在使用autoware联合ssdcaffe时候 编译出现
/home/billbliss/ssd/caffe/distribute/lib/libcaffe.so: error while loading shared libraries:
libhdf5_hl.so.10: cannot open shared object file: No such file or directory
小结 指令速查:
ldd xxxx.so 查看相关的库的链接情况
locate xxx.so 查找系统中的相关库目录
ls -l xxx.so 查看库的链接
sudo ln -s 建立软连接
sudo ldconfig 使链接生效
分析是库的链接出了问题
先使用 ldd 查看库的依赖(以下省略了N行)
ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so
libhdf5_hl.so.10 => not found
libhdf5.so.10 => not found
libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)
liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007f740c7ce000)
说明是libhdf5_hl.so.10 和 libhdf5.so.10链接库找不到
然后,再搜索库。因为有可能是版本问题,所以搜索 libhdf5_hl.so 而不是 libhdf5_hl.so.10
$ locate libhdf5_hl.so
/home/bliss/anaconda2/lib/libhdf5_hl.so
/home/bliss/anaconda2/lib/libhdf5_hl.so.10
/home/bliss/anaconda2/lib/libhdf5_hl.so.10.1.0
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10.1.0
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7.0.0
可见默认的系统路径里的版本为libhdf5_hl.so.7 和 libhdf5.so.7
需要将链接库 建立软连接 到libhdf5_hl.so.10 和 libhdf5.so.10
$ cd /usr/lib/x86_64-linux-gnu
$ ls -l libhdf5_hl.so.7
lrwxrwxrwx 1 root root 19 12月 23 2013 libhdf5_hl.so.7 -> libhdf5_hl.so.7.0.0
$ sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
$ ls -l libhdf5.so.7
lrwxrwxrwx 1 root root 16 12月 23 2013 libhdf5.so.7 -> libhdf5.so.7.0.0
$ sudo ln -s libhdf5.so.7 libhdf5.so.10
$ sudo ldconfig
可以验证一下 新建的软链接
$ ls -l libhdf5.so.10
lrwxrwxrwx 1 root root 12 6月 22 23:12 libhdf5.so.10 -> libhdf5.so.7
$ ls -l libhdf5_hl.so.10
lrwxrwxrwx 1 root root 15 6月 22 23:11 libhdf5_hl.so.10 -> libhdf5_hl.so.7
最后验证以下 库链接
ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so
libhdf5_hl.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.10 (0x00007f740d0cc000)
libhdf5.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5.so.10 (0x00007f740cc2f000)
libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)
liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007f740c7ce000)
/home/billbliss/ssd/caffe/distribute/lib/libcaffe.so: error while loading shared libraries:
libhdf5_hl.so.10: cannot open shared object file: No such file or directory
小结 指令速查:
ldd xxxx.so 查看相关的库的链接情况
locate xxx.so 查找系统中的相关库目录
ls -l xxx.so 查看库的链接
sudo ln -s 建立软连接
sudo ldconfig 使链接生效
分析是库的链接出了问题
先使用 ldd 查看库的依赖(以下省略了N行)
ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so
libhdf5_hl.so.10 => not found
libhdf5.so.10 => not found
libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)
liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007f740c7ce000)
说明是libhdf5_hl.so.10 和 libhdf5.so.10链接库找不到
然后,再搜索库。因为有可能是版本问题,所以搜索 libhdf5_hl.so 而不是 libhdf5_hl.so.10
$ locate libhdf5_hl.so
/home/bliss/anaconda2/lib/libhdf5_hl.so
/home/bliss/anaconda2/lib/libhdf5_hl.so.10
/home/bliss/anaconda2/lib/libhdf5_hl.so.10.1.0
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10
/home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10.1.0
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7
/usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7.0.0
可见默认的系统路径里的版本为libhdf5_hl.so.7 和 libhdf5.so.7
需要将链接库 建立软连接 到libhdf5_hl.so.10 和 libhdf5.so.10
$ cd /usr/lib/x86_64-linux-gnu
$ ls -l libhdf5_hl.so.7
lrwxrwxrwx 1 root root 19 12月 23 2013 libhdf5_hl.so.7 -> libhdf5_hl.so.7.0.0
$ sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
$ ls -l libhdf5.so.7
lrwxrwxrwx 1 root root 16 12月 23 2013 libhdf5.so.7 -> libhdf5.so.7.0.0
$ sudo ln -s libhdf5.so.7 libhdf5.so.10
$ sudo ldconfig
可以验证一下 新建的软链接
$ ls -l libhdf5.so.10
lrwxrwxrwx 1 root root 12 6月 22 23:12 libhdf5.so.10 -> libhdf5.so.7
$ ls -l libhdf5_hl.so.10
lrwxrwxrwx 1 root root 15 6月 22 23:11 libhdf5_hl.so.10 -> libhdf5_hl.so.7
最后验证以下 库链接
ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so
libhdf5_hl.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.10 (0x00007f740d0cc000)
libhdf5.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5.so.10 (0x00007f740cc2f000)
libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)
liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007f740c7ce000)
相关文章推荐
- 彻底解决 libhdf5_hl.so.10: cannot open shared object file: No such file or directory
- caffe编译出现 "libcudart.so.8.0 cannot open shared object file: No such file or directory"的错去
- 彻底解决 libhdf5_hl.so.10: cannot open shared object file: No such file or directory
- caffe遇到 ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory
- linux gcc 编译的so文件 运行时无法找到 错误:cannot open shared object file: No such file or directory
- 【Linux】【编译】libmpc.so.3: cannot open shared object file: No such file or directory
- Error: libcaffe2.so: cannot open shared object file: No such file or directory
- 新转移注意(caffe):ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory
- 编译Emacs出现libgif.so.7: cannot open shared object file: No such file or directory
- caffe_.mexa64': libcaffe.so: cannot open shared object file: No such file or directory
- 编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
- 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory
- memstat: error while loading shared libraries: libmemcached.so.3: cannot open shared object file: No such file or directory
- samba libtalloc.so.1 : cannot open shared object file: no such file or directory
- Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
- ImportError: libghmm.so.1: cannot open shared object file: No such file or directory 解决方案
- 解决Linux: error while loading shared libraries: ...: cannot open shared object file: No such file or directory 类似问题
- RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory 解决方法
- RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory 解决方法
- [11]缺少动态连接库.so--cannot open shared object file: No such file or directory