caffe:/ usr / bin / ld:找不到-lcblas

时间:2016-03-09 08:54:33

标签: linux caffe

我已经在我的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

我不知道为什么会这样,以及如何解决它。

4 个答案:

答案 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