在caffe中犯错误

时间:2015-12-11 10:46:26

标签: installation linker libraries caffe binaries

Output for 'make all'

[root@parags-pc caffe]# make all

CXX src/caffe/layers/batch_norm_layer.cpp
CXX src/caffe/layers/sigmoid_layer.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/data_transformer.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
Makefile:544: recipe for target '.build_release/lib/libcaffe.so' failed
make: *** [.build_release/lib/libcaffe.so] Error 1
[root@parags-pc caffe]#

我一直试图在fedora 21上安装caffe,但收效甚微。在运行以下make命令时,我会得到屏幕截图中给出的错误。

我尝试过以下方法来解决这个问题,但没有成功。

[root@parags-pc caffe]# export LDFLAGS=-L/lib64/atlas/
[root@parags-pc caffe]# ld -lcblas --verbose
==================================================
attempt to open /usr/x86_64-redhat-linux/lib64/libcblas.so failed
attempt to open /usr/x86_64-redhat-linux/lib64/libcblas.a failed
attempt to open /usr/local/lib64/libcblas.so failed
attempt to open /usr/local/lib64/libcblas.a failed
attempt to open /lib64/libcblas.so failed
attempt to open /lib64/libcblas.a failed
attempt to open /usr/lib64/libcblas.so failed
attempt to open /usr/lib64/libcblas.a failed
attempt to open /usr/x86_64-redhat-linux/lib/libcblas.so failed
attempt to open /usr/x86_64-redhat-linux/lib/libcblas.a failed
attempt to open /usr/lib64/libcblas.so failed
attempt to open /usr/lib64/libcblas.a failed
attempt to open /usr/local/lib/libcblas.so failed
attempt to open /usr/local/lib/libcblas.a failed
attempt to open /lib/libcblas.so failed
attempt to open /lib/libcblas.a failed
attempt to open /usr/lib/libcblas.so failed
attempt to open /usr/lib/libcblas.a failed
ld: cannot find -lcblas
[root@parags-pc caffe]# 

/ lib64 / atlas /的内容如下所示我不确定这些是否是必需的库。

[root@parags-pc caffe]# ls /lib64/atlas/
libsatlas.so.3  libsatlas.so.3.10  libtatlas.so.3  libtatlas.so.3.10

谷歌说要使用-L来链接命令。但我不知道应该使用哪个命令,如何使用该命令以及应该链接哪些库。 我需要帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

cd /lib64/atlas
sudo ln -s libtatlas.so /lib/libatlas.so
sudo ln -s libtatlas.so /lib/libcblas.so

新的Atlas ver3与atlas和cblas捆绑在一起。因此,不需要单独包括它们。 您可以按照上述方法或删除调用makefile中的cblas库。

答案 1 :(得分:0)

我认为原因是你使用make编译,这使得caffe的python端口只能在这个目录中找到库。也许你使用cmaketo编译它可以工作。

$make clean
$cd caffe-master
$mkdir build
$cd build
$cmake ..
$make all -j8

我希望我能帮到你!