我已经在我的CentOS7(64位)中安装了BLAS。但是当我在我的
中使用make all
时
' caffe'。它报告了一个错误:
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
我不知道为什么会这样,以及如何解决它。
答案 0 :(得分:2)
我最终使用OpenBLAS来解决这个问题。
yum install openblas-devel
sed -i 's/BLAS := atlas/BLAS := open/' Makefile.config
sed -i '/BLAS := open/aBLAS_INCLUDE := \/usr\/include\/openblas/' Makefile.config
表示安装OpenBLAS并将BLAS := altas
更改为BLAS := open
并在BLAS_INCLUDE := /usr/include/openblas/
中添加Makefile.config
。完成这些更改后,重建。
答案 1 :(得分:0)
sudo yum install atlas-devel
安装ATLAS库并再次尝试编译Caffe。
答案 2 :(得分:0)
第一期
sudo yum install atlas-devel
然后将以下行添加到Makefile.config
BLAS_INCLUDE := /usr/include
BLAS_LIB := /usr/lib64/atlas
在目标共享库部分中。添加更改后的部分如下所示
36 # The target shared library name
37 LIBRARY_NAME := $(PROJECT)
38 LIB_BUILD_DIR := $(BUILD_DIR)/lib
39 STATIC_NAME := $(LIB_BUILD_DIR)/lib$(LIBRARY_NAME).a
40 DYNAMIC_VERSION_MAJOR := 1
41 DYNAMIC_VERSION_MINOR := 0
42 DYNAMIC_VERSION_REVISION := 0-rc3
43 DYNAMIC_NAME_SHORT := lib$(LIBRARY_NAME).so
44 #DYNAMIC_SONAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR)
45 DYNAMIC_VERSIONED_NAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR).$(DYNAMIC_VERSION_ MINOR).$(DYNAMIC_VERSION_REVISION)
46 DYNAMIC_NAME := $(LIB_BUILD_DIR)/$(DYNAMIC_VERSIONED_NAME_SHORT)
47 COMMON_FLAGS += -DCAFFE_VERSION=$(DYNAMIC_VERSION_MAJOR).$(DYNAMIC_VERSION_MINOR).$(DYNAMIC_VERSI ON_REVISION)
48
49 BLAS_INCLUDE := /usr/include
50 BLAS_LIB := /usr/lib64/atlas
我在亚马逊深度学习ami上构建caffe时遇到了同样的问题,并在此处找到了解决方案: https://groups.google.com/forum/#!topic/caffe-users/Pyfp9eQoIMQ
答案 3 :(得分:0)
1.从here
下载地图集2.转到解压缩地图集的根目录。使用说明安装它:
mkdir build
cd build
../configure --shared
make
make install
3.编辑caffe的Makefile.config
文件:
BLAS_LIB := /usr/local/atlas/lib/
/usr/local/atlas/lib/
包含libtatlas.so