BVLC / caffe

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

make error : undefined reference to `google::FlagRegisterer::FlagRegisterer #6965

Closed jackiezhang11 closed 1 year ago

jackiezhang11 commented 3 years ago

centos:7.6 cuda:10.1 cudnn:7.6 gcc: 7.3.0

CMakeFiles/convert_mnist_data.dir/mnist/convert_mnist_data.cpp.o: In function std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* google::MakeCheckOpString<unsigned int, int>(unsigned int const&, int const&, char const*)': convert_mnist_data.cpp:(.text._ZN6google17MakeCheckOpStringIjiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIjiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x43): undefined reference togoogle::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' CMakeFiles/convert_mnist_data.dir/mnist/convert_mnist_data.cpp.o: In function std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >* google::MakeCheckOpString<unsigned int, unsigned int>(unsigned int const&, unsigned int const&, char const*)': convert_mnist_data.cpp:(.text._ZN6google17MakeCheckOpStringIjjEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIjjEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x43): undefined reference togoogle::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' CMakeFiles/convert_mnist_data.dir/mnist/convert_mnist_data.cpp.o: In function _GLOBAL__sub_I_convert_mnist_data.cpp': convert_mnist_data.cpp:(.text.startup+0xf0): undefined reference togoogle::FlagRegisterer::FlagRegisterer<std::cxx11::basic_string<char, std::char_traits, std::allocator > >(char const, char const, char const*, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)' CMakeFiles/convert_mnist_data.dir/mnist/convert_mnist_data.cpp.o: In function main': convert_mnist_data.cpp:(.text.startup+0x1c0): undefined reference togoogle::SetUsageMessage(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' convert_mnist_data.cpp:(.text.startup+0x1e5): undefined reference to google::ParseCommandLineFlags(int*, char***, bool)' convert_mnist_data.cpp:(.text.startup+0x1ff): undefined reference togoogle::ShowUsageWithFlagsRestrict(char const, char const)' ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference toleveldb::DB::Open(leveldb::Options const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, leveldb::DB)' collect2: error: ld returned 1 exit status make[2]: ** [examples/mnist/convert_mnist_data] Error 1 make[1]: [examples/CMakeFiles/convert_mnist_data.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... CMakeFiles/convert_imageset.dir/convert_imageset.cpp.o: In function _GLOBAL__sub_I_convert_imageset.cpp': convert_imageset.cpp:(.text.startup+0x18c): undefined reference togoogle::FlagRegisterer::FlagRegisterer(char const, char const, char const, bool, bool)' convert_imageset.cpp:(.text.startup+0x1bb): undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' convert_imageset.cpp:(.text.startup+0x230): undefined reference togoogle::FlagRegisterer::FlagRegisterer<std::cxx11::basic_string<char, std::char_traits, std::allocator > >(char const, char const, char const*, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)' convert_imageset.cpp:(.text.startup+0x299): undefined reference to google::FlagRegisterer::FlagRegisterer<int>(char const*, char const*, char const*, int*, int*)' convert_imageset.cpp:(.text.startup+0x2c8): undefined reference togoogle::FlagRegisterer::FlagRegisterer(char const, char const, char const, int, int)' convert_imageset.cpp:(.text.startup+0x2f7): undefined reference to `google::FlagRegisterer::FlagRegisterer(char const, char const, char const, bool, bool)' convert_imageset.cpp:(.text.startup+0x326): undefined reference to google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)' convert_imageset.cpp:(.text.startup+0x399): undefined reference togoogle::FlagRegisterer::FlagRegisterer<std::cxx11::basic_string<char, std::char_traits, std::allocator > >(char const, char const, char const*, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)' ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::ParseCommandLineFlags(int*, char, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, leveldb::DB)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' collect2: error: ld returned 1 exit status make[2]: [tools/convert_imageset] Error 1 make[1]: [tools/CMakeFiles/convert_imageset.dir/all] Error 2 CMakeFiles/compute_image_mean.dir/compute_image_mean.cpp.o: In function _GLOBAL__sub_I_compute_image_mean.cpp': compute_image_mean.cpp:(.text.startup+0x1ab): undefined reference togoogle::FlagRegisterer::FlagRegisterer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(char const, char const, char const, std::cxx11::basic_string<char, std::char_traits, std::allocator >*, std::cxx11::basic_string<char, std::char_traits, std::allocator >)' ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::ParseCommandLineFlags(int, char*, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' collect2: error: ld returned 1 exit status make[2]: [tools/compute_image_mean] Error 1 make[1]: [tools/CMakeFiles/compute_image_mean.dir/all] Error 2 [ 94%] Linking CXX executable upgrade_solver_proto_text [ 94%] Linking CXX executable upgrade_net_proto_binary ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::ParseCommandLineFlags(int*, char*, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' collect2: error: ld returned 1 exit status make[2]: * [tools/upgrade_net_proto_binary] Error 1 make[1]: [tools/CMakeFiles/upgrade_net_proto_binary.dir/all] Error 2 ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::ParseCommandLineFlags(int, char, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, leveldb::DB)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' collect2: error: ld returned 1 exit status make[2]: [tools/upgrade_solver_proto_text] Error 1 make[1]: [tools/CMakeFiles/upgrade_solver_proto_text.dir/all] Error 2 [ 95%] Linking CXX executable upgrade_net_proto_text [ 95%] Linking CXX executable extract_features ../lib/libcaffe.so.1.0.0: undefined reference to leveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference togoogle::ParseCommandLineFlags(int, char, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, leveldb::DB)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' collect2: error: ld returned 1 exit status make[2]: [tools/upgrade_net_proto_text] Error 1 make[1]: [tools/CMakeFiles/upgrade_net_proto_text.dir/all] Error 2 CMakeFiles/extract_features.dir/extract_features.cpp.o: In function `std::__cxx11::basic_string<char, std::char_traits, std::allocator > google::MakeCheckOpString<int, int>(int const&, int const&, char const)': extract_features.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x43): undefined reference to google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' CMakeFiles/extract_features.dir/extract_features.cpp.o: In functionstd::cxx11::basic_string<char, std::char_traits, std::allocator > google::MakeCheckOpString<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const)': extract_features.cpp:(.text._ZN6google17MakeCheckOpStringImmEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImmEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc]+0x44): undefined reference to google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()' ../lib/libcaffe.so.1.0.0: undefined reference toleveldb::Status::ToString[abi:cxx11]() const' ../lib/libcaffe.so.1.0.0: undefined reference to `google::ParseCommandLineFlags(int, char, bool)' ../lib/libcaffe.so.1.0.0: undefined reference to `leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, leveldb::DB)' collect2: error: ld returned 1 exit status make[2]: [tools/extract_features] Error 1 make[1]: *** [tools/CMakeFiles/extract_features.dir/all] Error 2