您的位置:首页 > Web前端

Ubuntu 16.04Caffe配置出现问题解决方法

2016-09-24 16:26 369 查看
本文参照了fengbingchun的CSDN专栏的 Ubuntu 14.04 64位机上不带CUDA支持的Caffe配置编译操作过程

 按照engbingchun的CSDN专栏的 Ubuntu 14.04 64位机上不带CUDA支持的Caffe配置编译操作过程进行配置过程中出现了一些问题,进行了解决

1.      安装BLAS:$ sudo apt-get install libatlas-base-dev

2.      安装依赖项:$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler liblmdb-dev

3.      安装glog(从http://download.csdn.net/download/chenguangxing3/6661667下载):$ tar zxvf glog-0.3.3.tar.gz , $ cd glog-0.3.3 , $ ./configure , $make , $
sudo make install

4.      安装gflags(从https://github.com/gflags/gflags下载),依次执行:$ unzip gflags-master.zip  , $cd gflags-master , $ mkdir build , $ cd build , $ export CXXFLAGS=”-fPIC” , $ cmake ..
, $ make VERBOSE=1 , $ make , $ sudo make install

5.      安装lmdb:$ git clone git://gitorious.org/mdb/mdb.git , $ cdmdb/libraries/liblmdb , $ make , $ sudo make install

6.      下载Caffe:$ git clone git://github.com/BVLC/caffe.git

7.      安装Caffe:(1)、$ cp Makefile.config.example Makefile.config  (2)、修改Makefile.config文件:去掉注释, CPU_ONLY:= 1 (3)、$ make all (4)、$ make test (5)、$ make runtest

在make all 的过程中,出现了找不到/usr/bin/ld: cannot find -lhdf5_hl和不到/usr/bin/ld: cannot find -lhdf5的问题

经过搜索,参照ReV_Fycd的CSDN专栏

解决找不到/usr/bin/ld: cannot find -lXX的问题

$ sudo apt-get install apt-file

$ apt-file update

$ apt-file search libXX.so

apt-file 将列出所有包含libXX.so文件的apt包,

选择相应的包用apt-get安装即可。通常请选择带dev的包安装,apt-get的用法请自查。

但是依然没有成功

后来通过查找hdf5_hl和hdf5的路径

~$ sudo ln -s /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so /usr/lib/libhdf5.so

~$ sudo ln -s /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so /usr/lib/libhdf5_hl.so

make all 成功了 

解释一下-ln -s

linux创建软链接命令-ln -s

 

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,

具体用法是:ln -s 源文件 目标文件。

当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less

-s 是代号(symbolic)的意思。

这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: