facebook / wdt

Warp speed Data Transfer (WDT) is an embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths.
https://www.facebook.com/WdtOpenSource
Other
2.86k stars 391 forks source link

wdt build error #166

Closed dzhyw closed 7 years ago

dzhyw commented 7 years ago

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

ldemailly commented 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

dzhyw commented 7 years ago

hi,ldemailly:

Follow your method to solve the problem. Thank you very much!