BVLC / caffe

Caffe: a fast open framework for deep learning.
http://caffe.berkeleyvision.org/
Other
34.09k stars 18.7k forks source link

C++ Compilation Errors on Mac #6794

Open AmitMY opened 5 years ago

AmitMY commented 5 years ago

Issue summary

Brand new MacOS Mojave install, caffe installation errors.

If I just make:

[  3%] Built target caffeproto
[  3%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Forward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:14:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Forward_gpu(const vector<Blob<Dtype>*>& bottom, \
                       ^~~~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Backward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:17:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Backward_gpu(const vector<Blob<Dtype>*>& top, \
                       ^~~~~~~~~~~~
2 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o] Error 1
make[4]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [caffe/src/openpose_lib-stamp/openpose_lib-build] Error 2
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
make: *** [all] Error 2
(sign) Amits-MacBook-Pro:build amit$ make
[ 12%] Performing build step for 'openpose_lib'
[  3%] Built target caffeproto
[  3%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Forward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:14:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Forward_gpu(const vector<Blob<Dtype>*>& bottom, \
                       ^~~~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Backward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:17:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Backward_gpu(const vector<Blob<Dtype>*>& top, \
                       ^~~~~~~~~~~~
2 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o] Error 1
make[4]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [caffe/src/openpose_lib-stamp/openpose_lib-build] Error 2
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
make: *** [all] Error 2
(sign) Amits-MacBook-Pro:build amit$ clear

(sign) Amits-MacBook-Pro:build amit$ make
[ 12%] Performing build step for 'openpose_lib'
[  3%] Built target caffeproto
[  3%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Forward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:14:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Forward_gpu(const vector<Blob<Dtype>*>& bottom, \
                       ^~~~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Backward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:17:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Backward_gpu(const vector<Blob<Dtype>*>& top, \
                       ^~~~~~~~~~~~
2 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o] Error 1
make[4]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [caffe/src/openpose_lib-stamp/openpose_lib-build] Error 2
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
make: *** [all] Error 2
(sign) Amits-MacBook-Pro:build amit$ 

but if I make -j:

(sign) Amits-MacBook-Pro:build amit$ make -j`nproc`
-bash: nproc: command not found
[ 12%] Performing build step for 'openpose_lib'
[  3%] Built target caffeproto
[  3%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/crop_layer.cpp.o
[  3%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o
[  4%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/pooling_layer.cpp.o
[  6%] Building CXX object src/caffe/CMakeFiles/caffe.dir/net.cpp.o
[  7%] Building CXX object src/caffe/CMakeFiles/caffe.dir/solver.cpp.o
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/pooling_layer.cpp:38:3: error: use of
      undeclared identifier 'round_mode_'
  round_mode_ = pool_param.round_mode();
  ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/pooling_layer.cpp:91:11: error: use of
      undeclared identifier 'round_mode_'
  switch (round_mode_) {
          ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Forward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:14:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Forward_gpu(const vector<Blob<Dtype>*>& bottom, \
                       ^~~~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:45:11: error: no member
      named 'Reshape' in 'std::__1::vector<int, std::__1::allocator<int> >'
  offsets.Reshape(offsets_shape);
  ~~~~~~~ ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:46:30: error: no member
      named 'mutable_cpu_data' in 'std::__1::vector<int, std::__1::allocator<int> >'
  int* offset_data = offsets.mutable_cpu_data();
                     ~~~~~~~ ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: 
      out-of-line definition of 'Backward_gpu' does not match any declaration in 'AccuracyLayer<Dtype>'
STUB_GPU(AccuracyLayer);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/util/device_alternate.hpp:17:24: note: expanded from macro 'STUB_GPU'
void classname<Dtype>::Backward_gpu(const vector<Blob<Dtype>*>& top, \
                       ^~~~~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:72:3: error: use of
      undeclared identifier 'src_strides_'
  src_strides_.Reshape(offsets_shape);
  ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:73:3: error: use of
      undeclared identifier 'dest_strides_'
  dest_strides_.Reshape(offsets_shape);
  ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:75:5: error: use of
      undeclared identifier 'src_strides_'
    src_strides_.mutable_cpu_data()[i] = bottom[0]->count(i + 1, input_dim);
    ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/net.cpp:773:18: error: out-of-line definition of
      'CopyTrainedLayersFrom' does not match any declaration in 'Net<Dtype>'
void Net<Dtype>::CopyTrainedLayersFrom(const string& trained_filename) {
                 ^~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/net.hpp:114:36: note: type of 1st parameter of member declaration does not match
      definition ('const std::__1::string' (aka 'const basic_string<char, char_traits<char>, allocator<char> >')
      vs 'const std::__1::string &' (aka 'const basic_string<char, char_traits<char>, allocator<char> > &'))
  void CopyTrainedLayersFrom(const string trained_filename);
                                   ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/net.cpp:782:18: error: out-of-line definition of
      'CopyTrainedLayersFromBinaryProto' does not match any declaration in 'Net<Dtype>'
void Net<Dtype>::CopyTrainedLayersFromBinaryProto(
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/net.hpp:115:47: note: type of 1st parameter of member declaration does not match
      definition ('const std::__1::string' (aka 'const basic_string<char, char_traits<char>, allocator<char> >')
      vs 'const std::__1::string &' (aka 'const basic_string<char, char_traits<char>, allocator<char> > &'))
  void CopyTrainedLayersFromBinaryProto(const string trained_filename);
                                              ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/net.cpp:790:18: error: out-of-line definition of
      'CopyTrainedLayersFromHDF5' does not match any declaration in 'Net<Dtype>'
void Net<Dtype>::CopyTrainedLayersFromHDF5(const string& trained_filename) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/caffe/net.hpp:116:40: note: type of 1st parameter of member declaration does not match
      definition ('const std::__1::string' (aka 'const basic_string<char, char_traits<char>, allocator<char> >')
      vs 'const std::__1::string &' (aka 'const basic_string<char, char_traits<char>, allocator<char> > &'))
  void CopyTrainedLayersFromHDF5(const string trained_filename);
                                       ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:76:5: error: use of
      undeclared identifier 'dest_strides_'
    dest_strides_.mutable_cpu_data()[i] = top[0]->count(i + 1, input_dim);
    ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:81:24: error: out-of-line
      definition of 'crop_copy' does not match any declaration in 'CropLayer<Dtype>'
void CropLayer<Dtype>::crop_copy(const vector<Blob<Dtype>*>& bottom,
                       ^~~~~~~~~
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:127:34: error: no member
      named 'cpu_data' in 'std::__1::vector<int, std::__1::allocator<int> >'
  crop_copy(bottom, top, offsets.cpu_data(), indices, 0, bottom_data, top_data,
                         ~~~~~~~ ^
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/layers/crop_layer.cpp:140:36: error: no member
      named 'cpu_data' in 'std::__1::vector<int, std::__1::allocator<int> >'
    crop_copy(bottom, top, offsets.cpu_data(), indices, 0, top_diff,
                           ~~~~~~~ ^
2 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/pooling_layer.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
2 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o] Error 1
9 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/layers/crop_layer.cpp.o] Error 1
3 errors generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/net.cpp.o] Error 1
/Users/amit/dev/uni/sign/libs/openpose/3rdparty/caffe/src/caffe/solver.cpp:456:23: error: out-of-line definition
      of 'SnapshotFilename' does not match any declaration in 'Solver<Dtype>'
string Solver<Dtype>::SnapshotFilename(const string& extension) {
                      ^~~~~~~~~~~~~~~~
/usr/local/include/caffe/solver.hpp:100:33: note: type of 1st parameter of member declaration does not match
      definition ('const std::__1::string' (aka 'const basic_string<char, char_traits<char>, allocator<char> >')
      vs 'const std::__1::string &' (aka 'const basic_string<char, char_traits<char>, allocator<char> > &'))
  string SnapshotFilename(const string extension);
                                ^
1 error generated.
make[5]: *** [src/caffe/CMakeFiles/caffe.dir/solver.cpp.o] Error 1
make[4]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [caffe/src/openpose_lib-stamp/openpose_lib-build] Error 2
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
make: *** [all] Error 2
(sign) Amits-MacBook-Pro:build amit$ 

Steps to reproduce

System configuration

zuypt commented 5 years ago

I encountered the same problem

northeast250 commented 5 years ago

I encountered the same problem [ 6%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o /Users/admin/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: out-of-line definition of 'Forward_gpu' does not match any declaration in 'AccuracyLayer' STUB_GPU(AccuracyLayer); ^~~~~~~ /usr/local/include/caffe/util/device_alternate.hpp:14:24: note: expanded from macro 'STUB_GPU' void classname::Forward_gpu(const vector<Blob>& bottom, \ ^~~ /Users/admin/caffe/src/caffe/layers/accuracy_layer.cpp:101:1: error: out-of-line definition of 'Backward_gpu' does not match any declaration in 'AccuracyLayer' STUB_GPU(AccuracyLayer); ^~~~~~~ /usr/local/include/caffe/util/device_alternate.hpp:17:24: note: expanded from macro 'STUB_GPU' void classname::Backward_gpu(const vector<Blob>& top, \ ^~~~ 2 errors generated. make[2]: [src/caffe/CMakeFiles/caffe.dir/layers/accuracy_layer.cpp.o] Error 1 make[1]: [src/caffe/CMakeFiles/caffe.dir/all] Error 2 make: *** [all] Error 2

tomkwok commented 5 years ago

Remove the conflicting files in /usr/local/include/caffe/. If you have previously brew install caffe, run brew uninstall caffe