Linking CXX shared library ../../lib/libcaffe.dylib Undefined symbols for architecture x86_64:

773 views
Skip to first unread message

Bhadresh Dhanani

unread,
Aug 31, 2016, 10:53:51 PM8/31/16
to Caffe Users
I am trying to build caffe on Mac OS X El Captian 10.11.6 using cmake. While running `make all` command, its failing at this point.

[ 88%] Building CXX object src/caffe/CMakeFiles/caffe.dir/util/upgrade_proto.cpp.o

/usr/local/caffe-goku/src/caffe/util/blocking_queue.cpp:50:7: warning: unused

      typedef 'INVALID_REQUESTED_LOG_SEVERITY' [-Wunused-local-typedef]

      LOG_EVERY_N(INFO, 1000)<< log_on_wait;

      ^

/usr/local/include/glog/logging.h:917:30: note: expanded from macro

      'LOG_EVERY_N'

                             INVALID_REQUESTED_LOG_SEVERITY);           \

                             ^

1 warning generated.

Linking CXX shared library ../../lib/libcaffe.dylib

Undefined symbols for architecture x86_64:

  "_cblas_dasum", referenced from:

      double caffe::caffe_cpu_asum<double>(int, double const*) in math_functions.cpp.o

  "_cblas_daxpy", referenced from:

      void caffe::caffe_axpy<double>(int, double, double const*, double*) in math_functions.cpp.o

      void caffe::caffe_cpu_axpby<double>(int, double, double const*, double, double*) in math_functions.cpp.o

  "_cblas_dcopy", referenced from:

      void caffe::caffe_cpu_scale<double>(int, double, double const*, double*) in math_functions.cpp.o

  "_cblas_ddot", referenced from:

      double caffe::caffe_cpu_strided_dot<double>(int, double const*, int, double const*, int) in math_functions.cpp.o

      double caffe::caffe_cpu_dot<double>(int, double const*, double const*) in math_functions.cpp.o

  "_cblas_dgemm", referenced from:

      void caffe::caffe_cpu_gemm<double>(CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, double, double const*, double const*, double, double*) in math_functions.cpp.o

  "_cblas_dgemv", referenced from:

      void caffe::caffe_cpu_gemv<double>(CBLAS_TRANSPOSE, int, int, double, double const*, double const*, double, double*) in math_functions.cpp.o

  "_cblas_dscal", referenced from:

      void caffe::caffe_scal<double>(int, double, double*) in math_functions.cpp.o

      void caffe::caffe_cpu_axpby<double>(int, double, double const*, double, double*) in math_functions.cpp.o

      void caffe::caffe_cpu_scale<double>(int, double, double const*, double*) in math_functions.cpp.o

  "_cblas_sasum", referenced from:

      float caffe::caffe_cpu_asum<float>(int, float const*) in math_functions.cpp.o

  "_cblas_saxpy", referenced from:

      void caffe::caffe_axpy<float>(int, float, float const*, float*) in math_functions.cpp.o

      void caffe::caffe_cpu_axpby<float>(int, float, float const*, float, float*) in math_functions.cpp.o

  "_cblas_scopy", referenced from:

      void caffe::caffe_cpu_scale<float>(int, float, float const*, float*) in math_functions.cpp.o

  "_cblas_sdot", referenced from:

      float caffe::caffe_cpu_strided_dot<float>(int, float const*, int, float const*, int) in math_functions.cpp.o

      float caffe::caffe_cpu_dot<float>(int, float const*, float const*) in math_functions.cpp.o

  "_cblas_sgemm", referenced from:

      void caffe::caffe_cpu_gemm<float>(CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float, float const*, float const*, float, float*) in math_functions.cpp.o

  "_cblas_sgemv", referenced from:

      void caffe::caffe_cpu_gemv<float>(CBLAS_TRANSPOSE, int, int, float, float const*, float const*, float, float*) in math_functions.cpp.o

  "_cblas_sscal", referenced from:

      void caffe::caffe_scal<float>(int, float, float*) in math_functions.cpp.o

      void caffe::caffe_cpu_axpby<float>(int, float, float const*, float, float*) in math_functions.cpp.o

      void caffe::caffe_cpu_scale<float>(int, float, float const*, float*) in math_functions.cpp.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[2]: *** [lib/libcaffe.1.0.0-rc3.dylib] Error 1

make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2

make: *** [all] Error 2

Here is my caffe configuration:


******************* Caffe Configuration Summary *******************

General:

Version : 1.0.0-rc3

Git : 0.9.9-1025-g5d5b9a7

System : Darwin

C++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++

Release CXX flags : -O3 -DNDEBUG -fPIC -Wall -Wno-sign-compare -Wno-uninitialized

Debug CXX flags : -g -fPIC -Wall -Wno-sign-compare -Wno-uninitialized

Build type : Release


BUILD_SHARED_LIBS : ON

BUILD_python : ON

BUILD_matlab : OFF

BUILD_docs : ON

CPU_ONLY : OFF

USE_OPENCV : ON

USE_LEVELDB : ON

USE_LMDB : ON

ALLOW_LMDB_NOLOCK : ON


Dependencies:

BLAS : Yes (vecLib)

Boost : Yes (ver. 1.61)

glog : Yes

gflags : Yes

protobuf : Yes (ver. 2.6.1)

lmdb : Yes (ver. 0.9.18)

LevelDB : Yes (ver. 1.19)

Snappy : Yes (ver. 1.1.3)

OpenCV : Yes (ver. 2.4.13)

CUDA : Yes (ver. 7.5)


NVIDIA CUDA:

Target GPU(s) : Auto

GPU arch(s) : sm_20 sm_21 sm_30 sm_35 sm_50

cuDNN : Disabled


Python:

Interpreter : /usr/bin/python2.7 (ver. 2.7.10)

Libraries : /usr/lib/libpython2.7.dylib (ver 2.7.10)

NumPy : /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include (ver 1.8.0rc1)


Documentaion:

Doxygen : No

config_file :

 

Any help on this issue will be really appreciated..!!

Bhadresh Dhanani

unread,
Sep 1, 2016, 2:35:51 PM9/1/16
to Caffe Users
I resolved this issue by giving runtime path to Openblas by this command.

cmake -DCMAKE_CXX_FLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers/ ..


Hope this helps ..!!

Reply all
Reply to author
Forward
0 new messages