Closed bolunfeng closed 3 years ago
Sadly Facebook has basically abandoned community support for this. I wrote a tool called warp-cli which also includes a shell install script that uses a locked version of FOLLY and WDT.
You can install it with curl https://raw.githubusercontent.com/JustinTimperio/warp-cli/master/build/install.sh | sudo bash
@bolunfeng, can you share a few more details on your environment so I can try to repro the failure you're seeing here?
@JustinTimperio, Facebook employee here; I'm trying to get this back in better shape and will triage open issues and PRs as time allows in the coming weeks.
@davide125 Glad to hear that this may repo may actually get some love. I have been considering abandoning and archiving my project because of how bad this repo has become. I opened #199 over a year ago and the community was able to patch it, yet I still need to hackly patch the cmake list during every install because no one has bothered to merge this change.
@davide125 I updated the latest version of the code and the problem has been resolved. Thank you very much. I have questions in the future, can I ask you directly by email or other means?
Feel free to file issues here for bugs, or to ask in the gitter chat linked in the README for questions.
To set expectations: wdt is widely used at Facebook, but it's mostly "done" and is not being actively developed beyond the occasional bug fix; my goal here is to get pending PRs merged, triage the issues, sort out the build so it works (hopefully) reliably, and ideally get the CI moved over to github actions so we don't regress it in the future. The main catalyst for this an ongoing effort to get wdt packaged in Fedora that I'm trying to help with.
[ 87%] Building CXX object CMakeFiles/wdt_url_test.dir/test/WdtUrlTest.cpp.o In file included from /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest.h:387, from /home/fbl/workspace/wdt/test/EncryptionTest.cpp:4: /home/fbl/workspace/wdt/test/EncryptionTest.cpp: In function ‘void facebook::wdt::testEncryption(facebook::wdt::EncryptionType, const string&)’: /home/fbl/workspace/wdt/test/EncryptionTest.cpp:76:57: error: no matching function for call to ‘find(std::vector<std::__cxx11::basic_string >::iterator, std::vector<std::__cxx11::basic_string >::iterator, std::string&)’
76 | EXPECT_EQ(std::find(tags.begin(), tags.end(), curTag), tags.end());
| ^
/home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest_pred_impl.h:77:52: note: in definition of macro ‘GTESTASSERT’
77 | if (const ::testing::AssertionResult gtest_ar = (expression)) \
| ^ typename gnu_cxx::__enable_if<std::is_char<_CharT2>::value, std::istreambuf_iterator<_CharT> >::type std::find(std::istreambuf_iterator<_CharT>, std::istreambuf_iterator<_CharT>, const _CharT2&)’
373 | find(istreambuf_iterator<_CharT> first,
| ^~~~
/usr/include/c++/9/bits/streambuf_iterator.h:373:5: note: template argument deduction/substitution failed:
In file included from /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest.h:387,
from /home/fbl/workspace/wdt/test/EncryptionTest.cpp:4:
/home/fbl/workspace/wdt/test/EncryptionTest.cpp:76:57: note: ‘__gnu_cxx::normal_iterator<std::__cxx11::basic_string*, std::vector<std::__cxx11::basic_string > >’ is not derived from ‘std::istreambuf_iterator<_CharT>’
76 | EXPECT_EQ(std::find(tags.begin(), tags.end(), curTag), tags.end());
| ^
/home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest_pred_impl.h:77:52: note: in definition of macro ‘GTESTASSERT’
77 | if (const ::testing::AssertionResult gtest_ar = (expression)) \
| ^
~~~~~ /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest_pred_impl.h:164:3: note: in expansion of macro ‘GTEST_PREDFORMAT2’ 164 | GTEST_PREDFORMAT2(pred_format, v1, v2, GTEST_NONFATALFAILURE) | ^~~~~~~ /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest.h:2040:3: note: in expansion of macro ‘EXPECT_PRED_FORMAT2’ 2040 | EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2) | ^~~~~~~ /home/fbl/workspace/wdt/test/EncryptionTest.cpp:76:5: note: in expansion of macro ‘EXPECT_EQ’ 76 | EXPECT_EQ(std::find(tags.begin(), tags.end(), curTag), tags.end()); | ^~~~~ In file included from /usr/include/c++/9/bits/locale_facets.h:48, from /usr/include/c++/9/bits/basic_ios.h:37, from /usr/include/c++/9/ios:44, from /usr/include/c++/9/ostream:38, from /usr/include/glog/logging.h:43, from /home/fbl/workspace/wdt/../wdt/ErrorCodes.h:12, from /home/fbl/workspace/wdt/../wdt/util/EncryptionUtils.h:13, from /home/fbl/workspace/wdt/test/EncryptionTest.cpp:1: /usr/include/c++/9/bits/streambuf_iterator.h:373:5: note: candidate: ‘template~~~~~ /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest_pred_impl.h:164:3: note: in expansion of macro ‘GTEST_PREDFORMAT2’ 164 | GTEST_PREDFORMAT2(pred_format, v1, v2, GTEST_NONFATALFAILURE) | ^~~~~~~ /home/fbl/workspace/wdt/gtest/src/gtest/googletest/include/gtest/gtest.h:2040:3: note: in expansion of macro ‘EXPECT_PRED_FORMAT2’ 2040 | EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2) | ^~~~~~~ /home/fbl/workspace/wdt/test/EncryptionTest.cpp:76:5: note: in expansion of macro ‘EXPECT_EQ’ 76 | EXPECT_EQ(std::find(tags.begin(), tags.end(), curTag), tags.end()); | ^~~~~ make[2]: *** [CMakeFiles/encryption_test.dir/build.make:63:CMakeFiles/encryption_test.dir/test/EncryptionTest.cpp.o]