caffe 编译报错 libhdf5_hl.so.10: cannot open shared object file: No such file or directory

小结 指令速查:

  1. ldd xxxx.so 查看相关的库的链接情况  
  2. locate xxx.so 查找系统中的相关库目录  
  3. ls -l xxx.so 查看库的链接  
  4. sudo ln -s 建立软连接  
  5. sudo ldconfig 使链接生效  


分析是库的链接出了问题

先使用 ldd 查看库的依赖(以下省略了N行)

  1. ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so  
  2. libhdf5_hl.so.10 => not found  
  3. libhdf5.so.10 => not found  
  4. libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)  
  5. 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

  1. $ locate libhdf5_hl.so  
  2. /home/bliss/anaconda2/lib/libhdf5_hl.so  
  3. /home/bliss/anaconda2/lib/libhdf5_hl.so.10  
  4. /home/bliss/anaconda2/lib/libhdf5_hl.so.10.1.0  
  5. /home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so  
  6. /home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10  
  7. /home/bliss/anaconda2/pkgs/hdf5-1.8.17-1/lib/libhdf5_hl.so.10.1.0  
  8. /usr/lib/x86_64-linux-gnu/libhdf5_hl.so  
  9. /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7  
  10. /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

  1. $ cd /usr/lib/x86_64-linux-gnu  
  2. $ ls -l libhdf5_hl.so.7  
  3. lrwxrwxrwx 1 root root 19 12月 23  2013 libhdf5_hl.so.7 -> libhdf5_hl.so.7.0.0  
  4. $ sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10  
  5. $ ls -l libhdf5.so.7  
  6. lrwxrwxrwx 1 root root 16 12月 23  2013 libhdf5.so.7 -> libhdf5.so.7.0.0  
  7. $ sudo ln -s libhdf5.so.7 libhdf5.so.10  
  8. $ sudo ldconfig  

可以验证一下 新建的软链接
  1. $ ls -l libhdf5.so.10  
  2. lrwxrwxrwx 1 root root 12  6月 22 23:12 libhdf5.so.10 -> libhdf5.so.7  
  3. $ ls -l libhdf5_hl.so.10  
  4. lrwxrwxrwx 1 root root 15  6月 22 23:11 libhdf5_hl.so.10 -> libhdf5_hl.so.7  

最后验证以下 库链接
  1. ldd /home/billbliss/ssd/caffe/distribute/lib/libcaffe.so  
  2. libhdf5_hl.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.10 (0x00007f740d0cc000)  
  3. libhdf5.so.10 => /usr/lib/x86_64-linux-gnu/libhdf5.so.10 (0x00007f740cc2f000)  
  4. libleveldb.so.1 => /usr/lib/x86_64-linux-gnu/libleveldb.so.1 (0x00007f740c9e2000)  
  5. liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007f740c7ce000) 
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值