C++ Compilation Errors on Mac
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
- Install MacOS
- Instal Xcode
git clone cmake- install with cmake
System configuration
- Operating system: MacOS 10.14.5
- Compiler: gcc?
I encountered the same problem
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<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/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<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[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
Remove the conflicting files in /usr/local/include/caffe/. If you have previously brew install caffe, run brew uninstall caffe
There is no brew installation candidate for caffe.