1

'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 来链接命令。但是我不知道应该使用哪个命令,如何使用该命令以及应该链接哪些库。我需要帮助。谢谢!

4

2 回答 2

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 库。

于 2015-12-11T15:30:58.187 回答
0

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

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

我希望我能帮助你!

于 2017-05-10T15:06:19.560 回答