感谢师弟Guobao帮忙,安装教程地址:
https://www.zybuluo.com/huynh/note/227144
后来发现编译的caffe版本里面没有siamese,于是下载新版本:https://github.com/BVLC/caffe/zip/master
由于之前已经安装好了依赖项,直接make all,结果发现:
(1)
参考上面教程增加:
COMMON_FLAGS = –I/opt/protobuf/include –I/opt/hdf5/include
LDFLAGS = –L/opt/protobuf/lib –L/opt/hdf5/lib
结果仍然是以上错误,原来由于是直接复制,出现了乱码:
手写一遍,问题解决。
(2)又出现:
解决,上面添加的两行改为:
COMMON_FLAGS += –I/opt/protobuf/include –I/opt/hdf5/include
LDFLAGS += –L/opt/protobuf/lib –L/opt/hdf5/lib
(3)后又出现:….is not a member of boost::filesystem
重新安装boost 1.59
./bootstrap.sh
./bjam install
#注意要使用 ./bjam install ,而不是./bjam,否则需要手工配置编译和链接路径。
(4)
error:
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lgflags
collect2: error: ld returned 1 exit status
make: * [.build_release/lib/libcaffe.so] Error 1
通过 find / -name libgflags.so
发现安装在:
/root/software/gflags-2.0/.lib/libglags.so
按照http://www.cnblogs.com/cassvin/archive/2011/07/24/Linux_Qtopia_2.html说的,ln -s…..后问题仍没解决。
后来直接
cp /root/software/gflags-2.0/.lib/libglags.so /usr/lib/libglags.so
问题解决
居然make成功了!激动地要哭了~~~~
接下来:
make all
make test
make runtest
看到那滚动一条条信息,心中百感交集。。。。
(1)protobuf安装
解压:tar xvf protobuf-2.5.0.tar.gz
安装步骤:(1)./configure (2)make (3)make check (4)make install
验证:
查看是否安装成功:protoc –version
如果出现:libprotoc 2.4.1 则说明安装成功!
如果出现错误:
protoc: error while loading shared libraries: libprotobuf.so.0: cannot open
shared object file: No such file or directory
The issue is that Ubuntu 8.04 doesn’t include /usr/local/lib in
library paths.
To fix it for your current terminal session, just type in
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
(2)lmdb安装
pip install lmdb
(3)
遇到的问题:
LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
/bin/ld: cannot find -lcblas
/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
解决方案:
先确定Makefile.config里面是否有配置了 BLAS_LIB 和BLAS_INCLUDE ,去掉前面的#号。
如果还是有这个问题是因为 ATLAS现在的名称变了,要新建一下软连
sudo ln -sv libsatlas.so.3.10 libcblas.so
sudo ln -sv libsatlas.so.3.10 libatlas.so