根据caffe相关教程操作(网上也有很多安装指导),却发现最后无法make编译。其实,由于ubuntu安装很简单,只需要一行指令,所以我直接复制粘贴指令并没有注意看执行情况。所以,估计最开始载入一些库的时候,就有提示“没有载入成功”的。
接下来从我遇到的问题顺序记录:
1、
关键句:
make:protoc: Command not found
make: ***[.build_release/src/caffe/layer.o] Error 1
解决:
lcchenjh@ubuntu:~/caffe$sudo apt install protobuf-compiler
2、hdf5.h:No such file or directory
但是,已经安装相应的文件库的:头文件路径:/usr/include/hdf5/serial lib路径: /usr/lib/x86_64-linux-gnu。
于是我蠢蠢地把需要编译文件所在的文件夹中都复制粘贴上与hdf5相关的头文件。
正确解决姿势:
在Makefile.config中
-两个路径要改成这样:(添加后面的两个hdf5的路径,否则编译时报hdf5错误)
# Whateverelse you find you need goes here.
INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include/usr/include/hdf5/serial
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib/usr/lib/x86_64-linux-gnu/hdf5/serial
来自 <http://blog.csdn.net/isuccess88/article/details/70165726>
(可是后来make all编译完caffe源码后后,接着编译test文件下的源码,还是出现找不到hdf5头文件的问题,所以又开始蠢蠢复制了~)
3、
/usr/bin/ld: cannotfind -lhdf5_hl
/usr/bin/ld: cannotfind -lhdf5
解决: 参照 http://www.cnblogs.com/wangxiaocvpr/p/5385961.html
4、
fatalerror: caffe/proto/caffe.pb.h: No such file or directory
这是在某次本以为没问题可以顺利设置进程却卡住后新出来的问题。
解决:
- protoc src/caffe/proto/caffe.proto --cpp_out=.
- mkdir include/caffe/proto
- mv src/caffe/proto/caffe.pb.h include/caffe/proto
来自 <http://blog.csdn.net/hjimce/article/details/48781693>
5、
关键句: undefinedreference to cv::imread caffe (还有cv::****忘了叫啥)
解决:
Makefile文件
修改:
LIBRARIES+= glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
来自 <http://blog.csdn.net/xiaxiazls/article/details/52039473>
6、
关键句:Cannotuse GPU in CPU-only Caffe: check mode.
解决:solver.prototxt(相关字眼的文件)中仍是 solver_mode: GPU
全部相关的都改了
http://www.cnblogs.com/denny402/p/5684431.html
两个小点儿:
1、make clean 删除残留的安装包
2、Tab键转向下一个项目,Tab+Shift返回 https://askubuntu.com/questions/16225/how-can-i-accept-the-microsoft-eula-agreement-for-ttf-mscorefonts-installer
总结: 今天深刻体会了发现问题和解决问题的感觉,虽然装了一上午的caffe,还是有点儿成就感的。也初涉了python,果真易入门。
后续:写个安装笔记也是挺好的,重做系统后第二次安装碰着问题就比较游刃有余了。只是为啥文章内的截图全无法显示呢...?