BVLC / caffe

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

make all error when compiling caffe on ubuntu 16.04, probably protobuf issues #6887

Closed sibscc closed 4 years ago

sibscc commented 4 years ago

When I compiling caffe on ubuntu 16.04

cmake -DCPU_ONLY=ON -DBUILD_python=OFF -DBUILD_python_layer=OFF -DCMAKE_INSTALL_PREFIX=/usr/local .. cmake -DBLAS=Open -DUSE_OPENMP=ON .. worked fine

but make all failed with such error information:

/usr/local/include/google/protobuf/arena_impl.h: In member function ‘bool google::protobuf::internal::ArenaImpl::GetSerialArenaFromThreadCache(google::protobuf::internal::ArenaImpl::SerialArena)’: /usr/local/include/google/protobuf/arena_impl.h:351:9: error: ‘struct google::protobuf::internal::ArenaImpl::ThreadCache’ has no member named ‘last_lifecycle_id_seen’ if (PROTOBUF_PREDICT_TRUE(tc->last_lifecycle_id_seen == lifecycleid)) { ^ /usr/local/include/google/protobuf/arena_impl.h:351:9: error: ‘lifecycleid’ was not declared in this scope if (PROTOBUF_PREDICT_TRUE(tc->last_lifecycle_id_seen == lifecycleid)) { ^ In file included from /usr/local/include/google/protobuf/arenastring.h:41:0, from /usr/local/include/google/protobuf/any.h:37, from /usr/local/include/google/protobuf/generated_message_util.h:49, from /root/Softwares/caffe/build/include/caffe/proto/caffe.pb.h:22, from /root/Softwares/caffe/build/include/caffe/proto/caffe.pb.cc:5: /usr/local/include/google/protobuf/arena.h: At global scope: /usr/local/include/google/protobuf/arena.h:173:54: error: ‘uint64’ has not been declared void (on_arena_reset)(Arena arena, void cookie, uint64 space_used); ^ /usr/local/include/google/protobuf/arena.h:174:60: error: ‘uint64’ has not been declared void (on_arena_destruction)(Arena arena, void cookie, uint64 space_used); ^ /usr/local/include/google/protobuf/arena.h:182:31: error: ‘uint64’ has not been declared uint64 alloc_size, void cookie); ^ /usr/local/include/google/protobuf/arena.h:251:31: error: expected unqualified-id before numeric constant class PROTOBUF_EXPORT alignas(8) Arena final { ^ /usr/local/include/google/protobuf/arena.h:251:31: error: expected ‘)’ before numeric constant /root/Softwares/caffe/build/include/caffe/proto/caffe.pb.cc:32362:1: error: expected ‘}’ at end of input } // namespace caffe ^ /root/Softwares/caffe/build/include/caffe/proto/caffe.pb.cc:32362:1: error: expected ‘}’ at end of input src/caffe/CMakeFiles/proto.dir/build.make:74: recipe for target 'src/caffe/CMakeFiles/proto.dir///include/caffe/proto/caffe.pb.cc.o' failed make[2]: [src/caffe/CMakeFiles/proto.dir///include/caffe/proto/caffe.pb.cc.o] Error 1 CMakeFiles/Makefile2:381: recipe for target 'src/caffe/CMakeFiles/proto.dir/all' failed make[1]: [src/caffe/CMakeFiles/proto.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: [all] Error 2

protoc version is 2.6.1 Protobuf installed by pip is 3.11.2 gcc and g++ version is 5.4.0 Thank you for attention and help