Ubuntu14.04 Caffe安装

为了使用caffe,特地装了linux系统,版本:Ubuntu14.04
自己对linux一窍不通,安装过程基本是按照这个博客进行的。
http://www.cnblogs.com/platero/p/3993877.html


第一步:
电脑没有独立显卡,所以没有安装cuda


第二步:
原博主使用的是MKL,但我图省事,没有安装MKL,而是用了atlas,一句命令搞定
sudo apt-get install libatlas-base-dev


第三步:
opencv部分,用了https://github.com/jayrambhia/Install-OpenCV的ubuntu下的opencv-2.4.9的脚本
这里直接执行脚本的话,除了错误比较难以定位,所以我是把里面的命令一句一句手动执行的


其中遇到了下面几个问题:
sudo apt-get -y install libopencv-dev提示需要依赖项,
改用sudo aptitude install libopencv-dev
因为没有aptitude,先安装 sudo apt-get install aptitude


sudo apt-get -y install x264 v4l-utils ffmpeg
这一步因为找不到ffmpeg而中断


一般找不到包,就到下面的网址搜索,看哪个镜像上有这个源,添加到source里面就可以了
http://packages.ubuntu.com/


搜索ffmpeg,Distribution选any,因为可能是没有trusty的资源
然后添加镜像,
sudo gedit /etc/apt/sources.list
在sources.list里面加一行deb http://cn.archive.ubuntu.com/ubuntu vivid main universe
然后更新源
sudo apt-get update


然后sudo apt-get -y install x264 v4l-utils ffmpeg就可以了




搞定这三个比较麻烦的依赖项后,继续安装opencv


编译opencv的时候,脚本原有的代码是:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
这里我去掉了-D WITH_QT=ON,因为我没有装QT,但是需要加上-D BUILD_TIFF=ON,否则编译caffe的时候会有这样的错误
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 


编译过程如下:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON -D WITH_OPENGL=ON..
make -j4
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig


第四步:
安装其他依赖项,没什么问题
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler


第五步:
编译caffe:
开始出现了这个错误:
./include/caffe/util/io.hpp:8:18: fatal error: hdf5.h: 没有那个文件或目录
这里是因为没有按照hdf5库,因为这个库在anaconda里面已经有了,需要配置系统路径。
在~/.bashrc文件里面添加
LD_LIBRARY_PATH=youranacondapath/lib:LD_LIBRARY_PATH
export LD_LIBRARY_PATH
记住啊,youranacondapath替换成你自己的anaconda安装的路径,否则就太二了,我自己就犯了一次二.....


然后出现了这个错误
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 
/usr/lib/libopencv_highgui.so.2.4: undefined reference toTIFFReadRGBAStrip@LIBTIFF_4.0'
解决方式前面说了,就是编译opencv的时候要加上 -D BUILD_TIFF=ON


然后又出现了这个错误,这个错误曾让我苦恼了两天,还因此把系统搞崩溃一次....不得不重装
最后还是多亏了最开头提到的博客以及热心网友 _无声的雨  的帮助,非常感谢,当代活雷锋啊!
//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__exp_finite@GLIBC_2.15’未定义的引用
//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__log10_finite@GLIBC_2.15’未定义的引用
//usr/lib/x86_64-linux-gnu/libxvidcore.so.4:对‘__logf_finite@GLIBC_2.15’未定义的引用
//usr/lib/x86_64-linux-gnu/libvorbis.so.0:对‘__acosf_finite@GLIBC_2.15’未定义的引用


解决方法:如果你装了anaconda包的话,删除anaconda/lib/下面的 libm
sudo rm -rf libm*


最后编译成功,哈哈。
make all
make test


最后一步
make runtest


有错误
.build_release/test/test_all.testbin 0 --gtest_shuffle --gtest_filter="-*GPU*"
.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5_hl.so.8: cannot open shared object file: No such file or directory
make: *** [runtest] 错误 127


这里按照开头提到的博客中红字的两段就能搞定
其实就是在LD_LIBRARY_PATH里面添加anaconda的路径,前面已经做过了。但因为我编译caffe时候用的是自己的用户,后来make runtest的时候用了root用户,两个用户从~/.bashrc不是一个,所以我索性两个都添上了。


好了,折腾了一周,装了两次系统,终于把caffe安装好了,接下来就是学习怎么使用了。
最后还是要谢谢这位博主:普兒,以及这位热心网友:_无声的雨 
是你们让我感受的社会的温暖,一次又一次把我崩溃的心灵拯救回来,让我体会到了人间有真情。
要是哪位读者去这个博客看看,就能看到我在留言里问的各种小白问题了,哈哈。

你可能感兴趣的:(ubuntu,opencv,深度学习,caffe)