make CC=/usr/local/bin/gcc-4.9
from the OpenBlas directory and wait...
3. Finally, it's now time to build caffe! BUT, since the change of version of your OS, you need to modify a line in the makefile...in particular you have to look for the line:
ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),)
and change it with:
ifneq ($(findstring 10.10, $(shell sw_vers -productVersion)),)
otherwise caffe won't link the libstdc++ correctly to clang...
as last step you have only to set correctly the openblas in the makefile.config, placing the appropriate path to your OpenBlas root directory to the variables BLAS_INCLUDE and BLAS_LIB...
and that's it!! You have only to launch the make command and enjoy your caffe ;)
As I said this is a solution that i found on my own, maybe there are more suitable ways to make caffe working in Yosemite but...waiting for some official instructions, this can be a solution.
Hope it helps.
/usr/bin/clang++ -shared -o .build_release/lib/libcaffe.so .build_release/src/caffe/proto/caffe.pb.o .build_release/src/caffe/proto/caffe_pretty_print.pb.o .build_release/src/caffe/blob.o .build_release/src/caffe/common.o .build_release/src/caffe/data_transformer.o .build_release/src/caffe/internal_thread.o .build_release/src/caffe/layer_factory.o .build_release/src/caffe/layers/absval_layer.o .build_release/src/caffe/layers/accuracy_layer.o .build_release/src/caffe/layers/argmax_layer.o .build_release/src/caffe/layers/base_data_layer.o .build_release/src/caffe/layers/bnll_layer.o .build_release/src/caffe/layers/concat_layer.o .build_release/src/caffe/layers/contrastive_loss_layer.o .build_release/src/caffe/layers/conv_layer.o .build_release/src/caffe/layers/cudnn_conv_layer.o .build_release/src/caffe/layers/cudnn_pooling_layer.o .build_release/src/caffe/layers/cudnn_relu_layer.o .build_release/src/caffe/layers/cudnn_sigmoid_layer.o .build_release/src/caffe/layers/cudnn_softmax_layer.o .build_release/src/caffe/layers/cudnn_tanh_layer.o .build_release/src/caffe/layers/data_layer.o .build_release/src/caffe/layers/dropout_layer.o .build_release/src/caffe/layers/dummy_data_layer.o .build_release/src/caffe/layers/eltwise_layer.o .build_release/src/caffe/layers/euclidean_loss_layer.o .build_release/src/caffe/layers/flatten_layer.o .build_release/src/caffe/layers/hdf5_data_layer.o .build_release/src/caffe/layers/hdf5_output_layer.o .build_release/src/caffe/layers/hinge_loss_layer.o .build_release/src/caffe/layers/im2col_layer.o .build_release/src/caffe/layers/image_data_layer.o .build_release/src/caffe/layers/infogain_loss_layer.o .build_release/src/caffe/layers/inner_product_layer.o .build_release/src/caffe/layers/loss_layer.o .build_release/src/caffe/layers/lrn_layer.o .build_release/src/caffe/layers/memory_data_layer.o .build_release/src/caffe/layers/multinomial_logistic_loss_layer.o .build_release/src/caffe/layers/mvn_layer.o .build_release/src/caffe/layers/neuron_layer.o .build_release/src/caffe/layers/pooling_layer.o .build_release/src/caffe/layers/power_layer.o .build_release/src/caffe/layers/relu_layer.o .build_release/src/caffe/layers/sigmoid_cross_entropy_loss_layer.o .build_release/src/caffe/layers/sigmoid_layer.o .build_release/src/caffe/layers/silence_layer.o .build_release/src/caffe/layers/slice_layer.o .build_release/src/caffe/layers/softmax_layer.o .build_release/src/caffe/layers/softmax_loss_layer.o .build_release/src/caffe/layers/split_layer.o .build_release/src/caffe/layers/tanh_layer.o .build_release/src/caffe/layers/threshold_layer.o .build_release/src/caffe/layers/window_data_layer.o .build_release/src/caffe/net.o .build_release/src/caffe/solver.o .build_release/src/caffe/syncedmem.o .build_release/src/caffe/util/benchmark.o .build_release/src/caffe/util/im2col.o .build_release/src/caffe/util/insert_splits.o .build_release/src/caffe/util/io.o .build_release/src/caffe/util/math_functions.o .build_release/src/caffe/util/upgrade_proto.o .build_release/src/caffe/layers/absval_layer.cuo .build_release/src/caffe/layers/base_data_layer.cuo .build_release/src/caffe/layers/bnll_layer.cuo .build_release/src/caffe/layers/concat_layer.cuo .build_release/src/caffe/layers/contrastive_loss_layer.cuo .build_release/src/caffe/layers/conv_layer.cuo .build_release/src/caffe/layers/cudnn_conv_layer.cuo .build_release/src/caffe/layers/cudnn_pooling_layer.cuo .build_release/src/caffe/layers/cudnn_relu_layer.cuo .build_release/src/caffe/layers/cudnn_sigmoid_layer.cuo .build_release/src/caffe/layers/cudnn_softmax_layer.cuo .build_release/src/caffe/layers/cudnn_tanh_layer.cuo .build_release/src/caffe/layers/dropout_layer.cuo .build_release/src/caffe/layers/eltwise_layer.cuo .build_release/src/caffe/layers/euclidean_loss_layer.cuo .build_release/src/caffe/layers/flatten_layer.cuo .build_release/src/caffe/layers/hdf5_data_layer.cuo .build_release/src/caffe/layers/hdf5_output_layer.cuo .build_release/src/caffe/layers/im2col_layer.cuo .build_release/src/caffe/layers/inner_product_layer.cuo .build_release/src/caffe/layers/lrn_layer.cuo .build_release/src/caffe/layers/mvn_layer.cuo .build_release/src/caffe/layers/pooling_layer.cuo .build_release/src/caffe/layers/power_layer.cuo .build_release/src/caffe/layers/relu_layer.cuo .build_release/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cuo .build_release/src/caffe/layers/sigmoid_layer.cuo .build_release/src/caffe/layers/silence_layer.cuo .build_release/src/caffe/layers/slice_layer.cuo .build_release/src/caffe/layers/softmax_layer.cuo .build_release/src/caffe/layers/softmax_loss_layer.cuo .build_release/src/caffe/layers/split_layer.cuo .build_release/src/caffe/layers/tanh_layer.cuo .build_release/src/caffe/layers/threshold_layer.cuo .build_release/src/caffe/util/im2col.cuo .build_release/src/caffe/util/math_functions.cuo -stdlib=libstdc++ -fPIC -DNDEBUG -O2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I/usr/local/include -I/opt/local/include -I.build_release/src -I./src -I./include -I/usr/local/cuda/include -I/usr/local/lib/OpenBLAS/include -I/usr/local/Cellar/opencv/2.4.9/include -I/usr/local/Cellar/boost/1.55.0_2/include -Wall -Wno-sign-compare -Wno-unneeded-internal-declaration -framework Accelerate -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/local/cuda/lib -L/usr/local/lib/OpenBLAS/lib -L/usr/local/Cellar/opencv/2.4.9/lib -L/usr/local/Cellar/boost/1.55.0_2/lib/ -L/opt/local/lib/ -L/usr/local/lib/boost/lib -lcudart -lcublas -lcurand -lpthread -lglog -lgflags -lprotobuf -lleveldb -lsnappy -llmdb -lboost_system -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lboost_thread-mt -lcblas
Undefined symbols for architecture x86_64:
"cv::imread(std::string const&, int)", referenced from:
caffe::WindowDataLayer<float>::InternalThreadEntry() in window_data_layer.o
caffe::WindowDataLayer<double>::InternalThreadEntry() in window_data_layer.o
caffe::ReadImageToDatum(std::string const&, int, int, int, bool, caffe::Datum*) in io.o
"google::protobuf::MessageLite::ParseFromString(std::string const&)", referenced from:
caffe::DataLayer<float>::DataLayerSetUp(std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> > const&, std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> >*) in data_layer.o
caffe::DataLayer<float>::InternalThreadEntry() in data_layer.o
caffe::DataLayer<double>::DataLayerSetUp(std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&, std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> >*) in data_layer.o
caffe::DataLayer<double>::InternalThreadEntry() in data_layer.o
caffe::Net<float>::Forward(std::string const&, float*) in net.o
caffe::Net<double>::Forward(std::string const&, double*) in net.o
"google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))", referenced from:
caffe::protobuf_AddDesc_caffe_2eproto() in caffe.pb.o
caffe::protobuf_AddDesc_caffe_5fpretty_5fprint_2eproto() in caffe_pretty_print.pb.o
"google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)", referenced from:
caffe::FillerParameter::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::NetParameter::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::SolverParameter::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::SolverState::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::NetState::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::NetStateRule::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
caffe::LayerParameter::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
...
"google::protobuf::internal::WireFormatLite::WriteBytes(int, std::string const&, google::protobuf::io::CodedOutputStream*)", referenced from:
caffe::Datum::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
"google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)", referenced from:
caffe::FillerParameter::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::NetParameter::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::SolverParameter::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::SolverState::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::NetState::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::NetStateRule::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
caffe::LayerParameter::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in caffe.pb.o
...
"google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)", referenced from:
caffe::Datum::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in caffe.pb.o
"google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)", referenced from:
caffe::NetParameter::NetParameter(caffe::NetParameter const&) in caffe.pb.o
caffe::NetParameter::~NetParameter() in caffe.pb.o
caffe::SolverParameter::SolverParameter(caffe::SolverParameter const&) in caffe.pb.o
caffe::SolverParameter::~SolverParameter() in caffe.pb.o
caffe::NetState::NetState(caffe::NetState const&) in caffe.pb.o
caffe::NetState::~NetState() in caffe.pb.o
caffe::NetStateRule::NetStateRule(caffe::NetStateRule const&) in caffe.pb.o
...
"google::protobuf::MessageLite::SerializeToString(std::string*) const", referenced from:
caffe::Net<float>::Forward(std::string const&, float*) in net.o
caffe::Net<double>::Forward(std::string const&, double*) in net.o
"google::protobuf::DescriptorPool::FindFileByName(std::string const&) const", referenced from:
caffe::protobuf_AssignDesc_caffe_2eproto() in caffe.pb.o
caffe::protobuf_AssignDesc_caffe_5fpretty_5fprint_2eproto() in caffe_pretty_print.pb.o
"google::protobuf::Message::SerializeToOstream(std::ostream*) const", referenced from:
caffe::WriteProtoToBinaryFile(google::protobuf::Message const&, char const*) in io.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: *** [.build_release/lib/libcaffe.so] Error 1
[ FAILED ] PowerLayerTest/0.TestPowerGradientShiftZero, where TypeParam = caffe::FloatCPU
[ FAILED ] PowerLayerTest/1.TestPowerGradient, where TypeParam = caffe::DoubleCPU
[ FAILED ] PowerLayerTest/1.TestPowerGradientShiftZero, where TypeParam = caffe::DoubleCPU
--
You received this message because you are subscribed to the Google Groups "Caffe Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users...@googlegroups.com.
To post to this group, send email to caffe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/500548f3-d1fa-4d6c-b63c-5f562488067b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Machida-no-MacBook-Air:opencv2 machidahiroaki$ nm -arch x86_64 /usr/local/lib/libopencv_imgcodecs.dylib | grep imread
0000000000004eb0 T __ZN2cv6imreadERKNS_6StringEi
0000000000004f50 t __ZN2cvL7imread_ERKNS_6StringEiiPNS_3MatE
LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb \
boost_system \
hdf5_hl hdf5 \
opencv_imgcodecs opencv_highgui opencv_imgproc opencv_core pthread
[----------] 1 test from HDF5OutputLayerTest/0, where TypeParam = caffe::FloatCPU
[ RUN ] HDF5OutputLayerTest/0.TestForward
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.13, library is 1.8.14
COMMON_FLAGS += -include /usr/local/include/hdf5.h -include /usr/local/include/hdf5_hl.h
/usr/local/Library/Formula/protobuf.rb: ENV["MACOSX_DEPLOYMENT_TARGET"] = "10.9"
Hi guys!!
--
You received this message because you are subscribed to the Google Groups "Caffe Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caffe-users...@googlegroups.com.
To post to this group, send email to caffe...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/caffe-users/7370793c-c0bd-4e94-9fb3-ddf6334edfcf%40googlegroups.com.
/usr/local/cuda/bin/nvcc -ccbin=/usr/bin/clang++ -Xcompiler -fPIC -DNDEBUG -O2 -I/Users/jay/anaconda/include -I/Users/jay/anaconda/include/python2.7 -I/Users/jay/anaconda/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -I.build_release/src -I./src -I./include -I/usr/local/cuda/include -I/Users/jay/include -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -c src/caffe/layers/absval_layer.cu -o .build_release/src/caffe/layers/absval_layer.cuo 2> .build_release/src/caffe/layers/absval_layer.cuo.warnings.txt \
|| (cat .build_release/src/caffe/layers/absval_layer.cuo.warnings.txt; exit 1)
In file included from src/caffe/layers/absval_layer.cu:3:
In file included from ./include/caffe/layer.hpp:8:
In file included from ./include/caffe/blob.hpp:4:
./include/caffe/common.hpp:4:10: fatal error: 'boost/shared_ptr.hpp' file not found
#include <boost/shared_ptr.hpp>
^
1 error generated.
make: *** [.build_release/src/caffe/layers/absval_layer.cuo] Error 1
I have been trying to install caffe since a week, but I am unable to do so. I am tired of this error.. some help will be appreciated.. Thank a lot.
Am I missing setting path or some other error of clang and stdlib++
??
clang: error: linker command failed with exit code 1 (use -v to see invocation
If I make progress I will repost
Hope this helps
Hi guys!!
Hi guys!!
@Kate @Yukun
After running into of these issues a dozen times, they can now consistently be circumvented:
There are two paths to compile caffe on OS X
1) compile against <= CUDA 6.5 "libstdc++" in this case >>all<< the dependencies need to be re-compiled with "libstdc++" (harder, brew edit ... see install.html)
2) compile against >= CUDA 7.0 "libc++" just make sure to have fresh dependencies (compiled with "libc++" by default) and remove libstdc++ stuff in dev branch Makefile
I recommend choosing path number two:
get CUDA 7.0 (RC)
cd <caffe_root>
git checkout dev
edit Makefile and remove these two lines:
# CXXFLAGS += -stdlib=libstdc++ << we dont want libstdc++ in this approach
# LINKFLAGS += -stdlib=libstdc++
export CXX="/usr/bin/clang++ -std=c++11 -stdlib=libc++"
make clean
Get rid of all dependencies if you have already done the libstdc++ brew edit stunt
If necessary reinstall all dependencies (fast with brew uninstall)
Watch carefully for the output of
brew install protobuf
brew install opencv
(etc)
brew unlink protobuf && brew link protobuf
Now everything should be beautifully aligned with libc++
make
PS: next week the whole process will be streamlined by the core development team. if you can't get it to run now just wait one week...
"std::__throw_length_error(char const*)", referenced from:
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in absval_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in absval_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in bnll_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in bnll_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in concat_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in concat_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in contrastive_loss_layer.cuo
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build_release/lib/libcaffe.so] Error 1
/usr/bin/clang++ src/caffe/blob.cpp -pthread -fPIC -DNDEBUG -O2 -DUSE_CUDNN -I/Users/Radek/anaconda/include -I/Users/Radek/anaconda/include/python2.7 -I/Users/Radek/anaconda/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -I.build_release/src -I./src -I./include -I/usr/local/cuda/include -I/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers -Wall -Wno-sign-compare -Wno-unneeded-internal-declaration -c -o .build_release/src/caffe/blob.o 2> .build_release/src/caffe/blob.o.warnings.txt \
|| (cat .build_release/src/caffe/blob.o.warnings.txt; exit 1)
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:59:32: error: unknown type name 'cudnnTensor4dDescriptor_t'; did you mean 'cudnnTensorDescriptor_t'?
inline void createTensor4dDesc(cudnnTensor4dDescriptor_t* desc) {
^~~~~~~~~~~~~~~~~~~~~~~~~
cudnnTensorDescriptor_t
/usr/local/cuda/include/cudnn.h:107:42: note: 'cudnnTensorDescriptor_t' declared here
typedef struct cudnnTensorStruct* cudnnTensorDescriptor_t;
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:60:15: error: use of undeclared identifier 'cudnnCreateTensor4dDescriptor'; did you mean 'cudnnCreateTensorDescriptor'?
CUDNN_CHECK(cudnnCreateTensor4dDescriptor(desc));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cudnnCreateTensorDescriptor
./include/caffe/util/cudnn.hpp:11:28: note: expanded from macro 'CUDNN_CHECK'
cudnnStatus_t status = condition; \
^
/usr/local/cuda/include/cudnn.h:122:27: note: 'cudnnCreateTensorDescriptor' declared here
cudnnStatus_t CUDNNWINAPI cudnnCreateTensorDescriptor( cudnnTensorDescriptor_t *tensorDesc );
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:64:29: error: unknown type name 'cudnnTensor4dDescriptor_t'; did you mean 'cudnnTensorDescriptor_t'?
inline void setTensor4dDesc(cudnnTensor4dDescriptor_t* desc,
^~~~~~~~~~~~~~~~~~~~~~~~~
cudnnTensorDescriptor_t
/usr/local/cuda/include/cudnn.h:107:42: note: 'cudnnTensorDescriptor_t' declared here
typedef struct cudnnTensorStruct* cudnnTensorDescriptor_t;
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:72:29: error: unknown type name 'cudnnTensor4dDescriptor_t'; did you mean 'cudnnTensorDescriptor_t'?
inline void setTensor4dDesc(cudnnTensor4dDescriptor_t* desc,
^~~~~~~~~~~~~~~~~~~~~~~~~
cudnnTensorDescriptor_t
/usr/local/cuda/include/cudnn.h:107:42: note: 'cudnnTensorDescriptor_t' declared here
typedef struct cudnnTensorStruct* cudnnTensorDescriptor_t;
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:97:5: error: unknown type name 'cudnnTensor4dDescriptor_t'; did you mean 'cudnnTensorDescriptor_t'?
cudnnTensor4dDescriptor_t bottom, cudnnFilterDescriptor_t filter,
^~~~~~~~~~~~~~~~~~~~~~~~~
cudnnTensorDescriptor_t
/usr/local/cuda/include/cudnn.h:107:42: note: 'cudnnTensorDescriptor_t' declared here
typedef struct cudnnTensorStruct* cudnnTensorDescriptor_t;
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:99:15: error: use of undeclared identifier 'cudnnSetConvolutionDescriptor'
CUDNN_CHECK(cudnnSetConvolutionDescriptor(*conv, bottom, filter,
^
./include/caffe/util/cudnn.hpp:11:28: note: expanded from macro 'CUDNN_CHECK'
cudnnStatus_t status = condition; \
^
./include/caffe/util/cudnn.hpp:112:13: error: use of undeclared identifier 'CUDNN_POOLING_AVERAGE'; did you mean 'CUDNN_POOLING_MAX'?
*mode = CUDNN_POOLING_AVERAGE;
^~~~~~~~~~~~~~~~~~~~~
CUDNN_POOLING_MAX
/usr/local/cuda/include/cudnn.h:518:5: note: 'CUDNN_POOLING_MAX' declared here
CUDNN_POOLING_MAX = 0,
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:118:15: error: use of undeclared identifier 'cudnnSetPoolingDescriptor'; did you mean 'cudnnSetPoolingNdDescriptor'?
CUDNN_CHECK(cudnnSetPoolingDescriptor(*conv, *mode, h, w,
^~~~~~~~~~~~~~~~~~~~~~~~~
cudnnSetPoolingNdDescriptor
./include/caffe/util/cudnn.hpp:11:28: note: expanded from macro 'CUDNN_CHECK'
cudnnStatus_t status = condition; \
^
/usr/local/cuda/include/cudnn.h:546:27: note: 'cudnnSetPoolingNdDescriptor' declared here
cudnnStatus_t CUDNNWINAPI cudnnSetPoolingNdDescriptor( cudnnPoolingDescriptor_t poolingDesc,
^
In file included from src/caffe/blob.cpp:1:
In file included from ./include/caffe/blob.hpp:4:
In file included from ./include/caffe/common.hpp:18:
In file included from ./include/caffe/util/device_alternate.hpp:40:
./include/caffe/util/cudnn.hpp:118:58: error: cannot initialize a parameter of type 'const int *' with an lvalue of type 'int'
CUDNN_CHECK(cudnnSetPoolingDescriptor(*conv, *mode, h, w,
^
./include/caffe/util/cudnn.hpp:11:28: note: expanded from macro 'CUDNN_CHECK'
cudnnStatus_t status = condition; \
^
/usr/local/cuda/include/cudnn.h:549:67: note: passing argument to parameter 'windowDimA' here
const int windowDimA[],
^
9 errors generated.
make: *** [.build_release/src/caffe/blob.o] Error 1
vasants-MBP:caffe vasantsrinivasan$ python examples/web_demo/app.py -h
Traceback (most recent call last):
File "examples/web_demo/app.py", line 13, in <module>
from PIL import Image as PILImage
File "/Users/vasantsrinivasan/anaconda/lib/python2.7/site-packages/PIL/Image.py", line 63, in <module>
from PIL import _imaging as core
ImportError: dlopen(/Users/vasantsrinivasan/anaconda/lib/python2.7/site-packages/PIL/_imaging.so, 2): Library not loaded: libz.1.dylib
Referenced from: /Users/vasantsrinivasan/anaconda/lib/python2.7/site-packages/PIL/_imaging.so
Reason: image not found
PIL/_imaging.so, 2): Library not loaded: libz.1.dylib
try
pip install PIL
brew install libz
caffe::Layer<float>::CheckBlobCounts(std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> > const&, std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> > const&) in base_data_layer.cuo
caffe::Layer<double>::CheckBlobCounts(std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&, std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&) in base_data_layer.cuo
caffe::BNLLLayer<float>::Forward_gpu(std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> > const&, std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> >*) in bnll_layer.cuo
caffe::BNLLLayer<float>::Backward_gpu(std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> > const&, std::vector<bool, std::allocator<bool> > const&, std::vector<caffe::Blob<float>*, std::allocator<caffe::Blob<float>*> >*) in bnll_layer.cuo
caffe::BNLLLayer<double>::Forward_gpu(std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&, std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> >*) in bnll_layer.cuo
...
"std::__throw_length_error(char const*)", referenced from:
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in absval_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in absval_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in bnll_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in bnll_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in concat_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<float> >*, std::vector<boost::shared_ptr<caffe::Blob<float> >, std::allocator<boost::shared_ptr<caffe::Blob<float> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<float> > const&) in concat_layer.cuo
std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > >::_M_fill_insert(__gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Blob<double> >*, std::vector<boost::shared_ptr<caffe::Blob<double> >, std::allocator<boost::shared_ptr<caffe::Blob<double> > > > >, unsigned long, boost::shared_ptr<caffe::Blob<double> > const&) in contrastive_loss_layer.cuo
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build_release/lib/libcaffe.so] Error 1
I have been stuck at this error for a week now trying to figure out what is different. I am not sure what your Makefile.config changes are thought.
I have enabled anaconda python and added the BLAS_LIB and INCLUDE Path as per Yosemite recommendations in the blog.
Any help would be appreciated
Thanks
Undefined symbols for architecture x86_64:
"leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)", referenced from:
caffe::db::LevelDB::Open(std::string const&, caffe::db::Mode) in db.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: *** [.build_release/lib/libcaffe.so] Error 1
Hi.libopencv_imgcodes.dylib has imread function,Machida-no-MacBook-Air:opencv2 machidahiroaki$ nm -arch x86_64 /usr/local/lib/libopencv_imgcodecs.dylib | grep imread 0000000000004eb0 T __ZN2cv6imreadERKNS_6StringEi 0000000000004f50 t __ZN2cvL7imread_ERKNS_6StringEiiPNS_3MatE
so, you need to add opencv_imgcodes to LIBRARIES variable.LIBRARIES += glog gflags protobuf leveldb snappy \ lmdb \ boost_system \ hdf5_hl hdf5 \ opencv_imgcodecs opencv_highgui opencv_imgproc opencv_core pthread
2014年11月22日土曜日 1時14分29秒 UTC+9 Yukun Chen:
Hi, Federico,Thanks for your post, I did as you suggested, but get the link error:
/usr/bin/clang++ -shared -o .build_release/lib/libcaffe.so .build_release/src/caffe/proto/caffe.pb.o .build_release/src/caffe/proto/caffe_pretty_print.pb.o .build_release/src/caffe/blob.o .build_release/src/caffe/common.o .build_release/src/caffe/data_transformer.o .build_release/src/caffe/internal_thread.o .build_release/src/caffe/layer_factory.o .build_release/src/caffe/layers/absval_layer.o .build_release/src/caffe/layers/accuracy_layer.o .build_release/src/caffe/layers/argmax_layer.o .build_release/src/caffe/layers/base_data_layer.o .build_release/src/caffe/layers/bnll_layer.o .build_release/src/caffe/layers/concat_layer.o .build_release/src/caffe/layers/contrastive_loss_layer.o .build_release/src/caffe/layers/conv_layer.o .build_release/src/caffe/layers/cudnn_conv_layer.o .build_release/src/caffe/layers/cudnn_pooling_layer.o .build_release/src/caffe/layers/cudnn_relu_layer.o .build_release/src/caffe/layers/cudnn_sigmoid_layer.o .build_release/src/caffe/layers/cudnn_softmax_layer.o .build_release/src/caffe/layers/cudnn_tanh_layer.o .build_release/src/caffe/layers/data_layer.o .build_release/src/caffe/layers/dropout_layer.o .build_release/src/caffe/layers/dummy_data_layer.o .build_release/src/caffe/layers/eltwise_layer.o .build_release/src/caffe/layers/euclidean_loss_layer.o .build_release/src/caffe/layers/flatten_layer.o .build_release/src/caffe/layers/hdf5_data_layer.o .build_release/src/caffe/layers/hdf5_output_layer.o .build_release/src/caffe/layers/hinge_loss_layer.o .build_release/src/caffe/layers/im2col_layer.o .build_release/src/caffe/layers/image_data_layer.o .build_release/src/caffe/layers/infogain_loss_layer.o .build_release/src/caffe/layers/inner_product_layer.o .build_release/src/caffe/layers/loss_layer.o .build_release/src/caffe/layers/lrn_layer.o .build_release/src/caffe/layers/memory_data_layer.o .build_release/src/caffe/layers/multinomial_logistic_loss_layer.o .build_release/src/caffe/layers/mvn_layer.o .build_release/src/caffe/layers/neuron_layer.o .build_release/src/caffe/layers/pooling_layer.o .build_release/src/caffe/layers/power_layer.o .build_release/src/caffe/layers/relu_layer.o .build_release/src/caffe/layers/sigmoid_cross_entropy_loss_layer.o .build_release/src/caffe/layers/sigmoid_layer.o .build_release/src/caffe/layers/silence_layer.o .build_release/src/caffe/layers/slice_layer.o .build_release/src/caffe/layers/softmax_layer.o .build_release/src/caffe/layers/softmax_loss_layer.o .build_release/src/caffe/layers/split_layer.o .build_release/src/caffe/layers/tanh_layer.o .build_release/src/caffe/layers/threshold_layer.o .build_release/src/caffe/layers/window_data_layer.o .build_release/src/caffe/net.o .build_release/src/caffe/solver.o .build_release/src/caffe/syncedmem.o .build_release/src/caffe/util/benchmark.o .build_release/src/caffe/util/im2col.o .build_release/src/caffe/util/insert_splits.o .build_release/src/caffe/util/io.o .build_release/src/caffe/util/math_functions.o .build_release/src/caffe/util/upgrade_proto.o .build_release/src/caffe/layers/absval_layer.cuo .build_release/src/caffe/layers/base_data_layer.cuo .build_release/src/caffe/layers/bnll_layer.cuo .build_release/src/caffe/layers/concat_layer.cuo .build_release/src/caffe/layers/contrastive_loss_layer.cuo .build_release/src/caffe/layers/conv_layer.cuo .build_release/src/caffe/layers/cudnn_conv_layer.cuo .build_release/src/caffe/layers/cudnn_pooling_layer.cuo .build_release/src/caffe/layers/cudnn_relu_layer.cuo .build_release/src/caffe/layers/cudnn_sigmoid_layer.cuo .build_release/src/caffe/layers/cudnn_softmax_layer.cuo .build_release/src/caffe/layers/cudnn_tanh_layer.cuo .build_release/src/caffe/layers/dropout_layer.cuo .build_release/src/caffe/layers/eltwise_layer.cuo .build_release/src/caffe/layers/euclidean_loss_layer.cuo .build_release/src/caffe/layers/flatten_layer.cuo .build_release/src/caffe/layers/hdf5_data_layer.cuo .build_release/src/caffe/layers/hdf5_output_layer.cuo .build_release/src/caffe/layers/im2col_layer.cuo .build_release/src/caffe/layers/inner_product_layer.cuo .build_release/src/caffe/layers/lrn_layer.cuo .build_release/src/caffe/layers/mvn_layer.cuo .build_release/src/caffe/layers/pooling_layer.cuo .build_release/src/caffe/layers/power_layer.cuo .build_release/src/caffe/layers/relu_layer.cuo .build_release/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cuo .build_release/src/caffe/layers/sigmoid_layer.cuo .build_release/src/caffe/layers/silence_layer.cuo .build_release/src/caffe/layers/slice_layer.cuo .build_release/src/caffe/layers/softmax_layer.cuo .build_release/src/caffe/layers/softmax_loss_layer.cuo .build_release/src/caffe/layers/split_layer.cuo .build_release/src/caffe/layers/tanh_layer.cuo .build_release/src/caffe/layers/threshold_layer.cuo .build_release/src/caffe/util/im2col.cuo .build_release/src/caffe/util/math_functions.cuo -stdlib=libstdc++ -fPIC -DNDEBUG -O2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I/usr/local/include -I/opt/local/include -I.build_release/src -I./src -I./include -I/usr/local/cuda/include -I/usr/local/lib/OpenBLAS/include -I/usr/local/Cellar/opencv/2.4.9/include -I/usr/local/Cellar/boost/1.55.0_2/include -Wall -Wno-sign-compare -Wno-unneeded-internal-declaration -framework Accelerate -L/usr/lib -L/usr/local/lib -L/usr/lib -L/usr/local/cuda/lib -L/usr/local/lib/OpenBLAS/lib -L/usr/local/Cellar/opencv/2.4.9/lib -L/usr/local/Cellar/boost/1.55.0_2/lib/ -L/opt/local/lib/ -L/usr/local/lib/boost/lib -lcudart -lcublas -lcurand -lpthread -lglog -lgflags -lprotobuf -lleveldb -lsnappy -llmdb -lboost_system -lhdf5_hl -lhdf5 -lopencv_core -lopencv_highgui -lopencv_imgproc -lboost_thread-mt -lcblas
Undefined symbols for architecture x86_64:
"cv::imread(std::string const&, int)", referenced from:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build_release/lib/libcaffe.so] Error 1
Can you help me with that?Thanks in advance.
vpn51128:caffe-future CarlosTrevino$ cp Makefile.config.example Makefile.config
vpn51128:caffe-future CarlosTrevino$ # Adjust Makefile.config (for example, if using Anaconda Python)
vpn51128:caffe-future CarlosTrevino$ make all
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
CXX src/caffe/blob.cpp
In file included from src/caffe/blob.cpp:4:
In file included from ./include/caffe/blob.hpp:10:
In file included from ./include/caffe/syncedmem.hpp:7:
In file included from ./include/caffe/util/math_functions.hpp:11:
./include/caffe/util/mkl_alternate.hpp:11:10: fatal error: 'cblas.h' file not found
#include <cblas.h>
^
1 error generated.
make: *** [.build_release/src/caffe/blob.o] Error 1
vpn51128:caffe-future CarlosTrevino$ make test
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
CXX src/caffe/test/test_accuracy_layer.cpp
In file included from src/caffe/test/test_accuracy_layer.cpp:8:
In file included from ./include/caffe/blob.hpp:10:
In file included from ./include/caffe/syncedmem.hpp:7:
In file included from ./include/caffe/util/math_functions.hpp:11:
./include/caffe/util/mkl_alternate.hpp:11:10: fatal error: 'cblas.h' file not found
#include <cblas.h>
^
1 error generated.
make: *** [.build_release/src/caffe/test/test_accuracy_layer.o] Error 1
vpn51128:caffe-future CarlosTrevino$ make runtest
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
CXX src/caffe/test/test_accuracy_layer.cpp
In file included from src/caffe/test/test_accuracy_layer.cpp:8:
In file included from ./include/caffe/blob.hpp:10:
In file included from ./include/caffe/syncedmem.hpp:7:
In file included from ./include/caffe/util/math_functions.hpp:11:
./include/caffe/util/mkl_alternate.hpp:11:10: fatal error: 'cblas.h' file not found
#include <cblas.h>
^
1 error generated.
make: *** [.build_release/src/caffe/test/test_accuracy_layer.o] Error 1
vpn51128:caffe-future CarlosTrevino$