Closed dzhyw closed 7 years ago
this usually happens when you build you own glfags but forget to pass -DGFLAGS_NAMESPACE=google
it's best to get gflags+glog together as one binary to avoid this
see https://github.com/facebook/wdt/blob/master/build/BUILD.md for various options/details
hi,ldemailly:
Follow your method to solve the problem. Thank you very much!
root@wccsvn:/usr/src/wdt# cmake /usr/src/wdt -DBUILD_TESTING=on -- Boost version: 1.54.0 -- Found the following Boost libraries: -- system -- filesystem -- Configuring done -- Generating done -- Build files have been written to: /usr/src/wdt root@wccsvn:/usr/src/wdt# make [ 1%] Building CXX object CMakeFiles/folly4wdt.dir/usr/src/folly/folly/detail/Crc32cDetail.cpp.o [ 2%] Building CXX object CMakeFiles/folly4wdt.dir/usr/src/folly/folly/ScopeGuard.cpp.o Linking CXX shared library libfolly4wdt.so [ 8%] Built target folly4wdt Scanning dependencies of target wdt_min [ 10%] Building CXX object CMakeFiles/wdt_min.dir/util/WdtSocket.cpp.o [ 11%] Building CXX object CMakeFiles/wdt_min.dir/util/ClientSocket.cpp.o [ 13%] Building CXX object CMakeFiles/wdt_min.dir/util/EncryptionUtils.cpp.o [ 14%] Building CXX object CMakeFiles/wdt_min.dir/util/DirectorySourceQueue.cpp.o [ 16%] Building CXX object CMakeFiles/wdt_min.dir/ErrorCodes.cpp.o [ 17%] Building CXX object CMakeFiles/wdt_min.dir/util/FileByteSource.cpp.o [ 19%] Building CXX object CMakeFiles/wdt_min.dir/util/FileCreator.cpp.o [ 20%] Building CXX object CMakeFiles/wdt_min.dir/Protocol.cpp.o [ 22%] Building CXX object CMakeFiles/wdt_min.dir/WdtThread.cpp.o [ 23%] Building CXX object CMakeFiles/wdt_min.dir/util/ThreadsController.cpp.o [ 25%] Building CXX object CMakeFiles/wdt_min.dir/ReceiverThread.cpp.o [ 26%] Building CXX object CMakeFiles/wdt_min.dir/Receiver.cpp.o [ 27%] Building CXX object CMakeFiles/wdt_min.dir/WdtTransferRequest.cpp.o [ 29%] Building CXX object CMakeFiles/wdt_min.dir/Reporting.cpp.o [ 30%] Building CXX object CMakeFiles/wdt_min.dir/util/ThreadTransferHistory.cpp.o [ 32%] Building CXX object CMakeFiles/wdt_min.dir/SenderThread.cpp.o [ 33%] Building CXX object CMakeFiles/wdt_min.dir/Sender.cpp.o [ 35%] Building CXX object CMakeFiles/wdt_min.dir/util/ServerSocket.cpp.o [ 36%] Building CXX object CMakeFiles/wdt_min.dir/Throttler.cpp.o [ 38%] Building CXX object CMakeFiles/wdt_min.dir/WdtOptions.cpp.o [ 39%] Building CXX object CMakeFiles/wdt_min.dir/util/FileWriter.cpp.o [ 41%] Building CXX object CMakeFiles/wdt_min.dir/util/TransferLogManager.cpp.o [ 42%] Building CXX object CMakeFiles/wdt_min.dir/util/SerializationUtil.cpp.o [ 44%] Building CXX object CMakeFiles/wdt_min.dir/util/Stats.cpp.o [ 45%] Building CXX object CMakeFiles/wdt_min.dir/WdtBase.cpp.o [ 47%] Building CXX object CMakeFiles/wdt_min.dir/WdtResourceController.cpp.o [ 48%] Building CXX object CMakeFiles/wdt_min.dir/util/CommonImpl.cpp.o Linking CXX shared library libwdt_min.so [ 48%] Built target wdt_min [ 60%] Built target gtest Scanning dependencies of target wdt4tests_min [ 61%] Building CXX object CMakeFiles/wdt4tests_min.dir/test/TestCommon.cpp.o Linking CXX shared library libwdt4tests_min.so [ 61%] Built target wdt4tests_min Scanning dependencies of target wdt4tests [ 63%] Building CXX object CMakeFiles/wdt4tests.dir/util/WdtFlags.cpp.o /usr/src/wdt/util/WdtFlags.cpp: In static member function ‘static std::set<std::basic_string > facebook::wdt::WdtFlags::getUserSpecifiedOptions()’:
/usr/src/wdt/util/WdtFlags.cpp:47:15: error: ‘GFLAGS_NAMESPACE’ was not declared in this scope
std::vector allFlags;
^
/usr/src/wdt/util/WdtFlags.cpp:47:52: error: template argument 1 is invalid
std::vector allFlags;
^
/usr/src/wdt/util/WdtFlags.cpp:47:52: error: template argument 2 is invalid
/usr/src/wdt/util/WdtFlags.cpp:47:62: error: invalid type in declaration before ‘;’ token
std::vector allFlags;
^
/usr/src/wdt/util/WdtFlags.cpp:48:3: error: ‘GFLAGS_NAMESPACE’ is not a class, namespace, or enumeration
GFLAGS_NAMESPACE::GetAllFlags(&allFlags);
^
/usr/src/wdt/util/WdtFlags.cpp:49:27: error: ‘begin’ was not declared in this scope
for (const auto &flag : allFlags) {
^
/usr/src/wdt/util/WdtFlags.cpp:49:27: note: suggested alternative:
In file included from /usr/include/c++/4.9/bits/basic_string.h:42:0,
from /usr/include/c++/4.9/string:52,
from /usr/include/c++/4.9/bits/locale_classes.h:40,
from /usr/include/c++/4.9/bits/ios_base.h:41,
from /usr/include/c++/4.9/ios:42,
from /usr/include/c++/4.9/ostream:38,
from /usr/src/wdt/../wdt/util/WdtFlags.h:10,
from /usr/src/wdt/util/WdtFlags.cpp:9:
/usr/include/c++/4.9/initializer_list:89:5: note: ‘std::begin’
begin(initializer_list<_Tp> ils) noexcept
^
/usr/src/wdt/util/WdtFlags.cpp:49:27: error: ‘end’ was not declared in this scope
for (const auto &flag : allFlags) {
^
/usr/src/wdt/util/WdtFlags.cpp:49:27: note: suggested alternative:
In file included from /usr/include/c++/4.9/bits/basic_string.h:42:0,
from /usr/include/c++/4.9/string:52,
from /usr/include/c++/4.9/bits/locale_classes.h:40,
from /usr/include/c++/4.9/bits/ios_base.h:41,
from /usr/include/c++/4.9/ios:42,
from /usr/include/c++/4.9/ostream:38,
from /usr/src/wdt/../wdt/util/WdtFlags.h:10,
from /usr/src/wdt/util/WdtFlags.cpp:9:
/usr/include/c++/4.9/initializer_list:99:5: note: ‘std::end’
end(initializer_list<_Tp> ils) noexcept
^
make[2]: [CMakeFiles/wdt4tests.dir/util/WdtFlags.cpp.o] Error 1
make[1]: [CMakeFiles/wdt4tests.dir/all] Error 2
make: *** [all] Error 2