Closed mickelmayers closed 3 years ago
Your g++ version is probably old and not supported by folly.
$ g++ -v
I was able to compile wdt successfully with g++ v7.3.0.
If for some reason you can't update your g++ version, I came across these notes and they might be helpful in your case: https://github.com/facebook/wdt/blob/a288ed7aea910bd9691d64fcd1724b4758c36ba8/CMakeLists.txt#L28-L32
I have this error aswell but on RHEL... above did not fix it..
Operating System: Red Hat Enterprise Linux
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.7:GA:server
Kernel: Linux 3.10.0-1062.9.1.el7.x86_64
Architecture: x86-64
Output from make -j
`[ 2%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/Conv.cpp.o [ 6%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/hash/Checksum.cpp.o [ 6%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/Demangle.cpp.o [ 9%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/hash/detail/ChecksumDetail.cpp.o [ 11%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/hash/detail/Crc32cDetail.cpp.o [ 13%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/hash/detail/Crc32CombineDetail.cpp.o In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/Portability.h:31, from /root/wdt/folly/folly/CpuId.h:21, from /root/wdt/folly/folly/hash/Checksum.cpp:19: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/Portability.h:31, from /root/wdt/folly/folly/hash/detail/ChecksumDetail.h:19, from /root/wdt/folly/folly/hash/detail/ChecksumDetail.cpp:113: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/FBString.h:33, from /root/wdt/folly/folly/Demangle.h:19, from /root/wdt/folly/folly/Demangle.cpp:17: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/hash/detail/ChecksumDetail.h:19:0, from /root/wdt/folly/folly/hash/detail/ChecksumDetail.cpp:113: /root/wdt/folly/folly/Portability.h:22:1: error: static assertion failed: cplusplus >= 201402L static_assert(cplusplus >= 201402L, "cplusplus >= 201402L"); ^ /root/wdt/folly/folly/Portability.h:26:1: error: static assertion failed: GNUC >= 5 static_assert(GNUC >= 5, "GNUC__ >= 5"); ^ [ 15%] Building CXX object CMakeFiles/folly4wdt.dir/folly/folly/ScopeGuard.cpp.o In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/Portability.h:31, from /root/wdt/folly/folly/hash/detail/ChecksumDetail.h:19, from /root/wdt/folly/folly/hash/detail/Crc32CombineDetail.cpp:17: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
make[2]: [CMakeFiles/folly4wdt.dir/folly/folly/hash/detail/ChecksumDetail.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/Portability.h:31, from /root/wdt/folly/folly/hash/detail/ChecksumDetail.h:19, from /root/wdt/folly/folly/hash/detail/Crc32cDetail.cpp:34: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/FBString.h:33, from /root/wdt/folly/folly/Demangle.h:19, from /root/wdt/folly/folly/Conv.h:116, from /root/wdt/folly/folly/Conv.cpp:17: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/functional/ApplyTuple.h:25:0, from /root/wdt/folly/folly/hash/Hash.h:31, from /root/wdt/folly/folly/FBString.h:45, from /root/wdt/folly/folly/Demangle.h:19, from /root/wdt/folly/folly/Conv.h:116, from /root/wdt/folly/folly/Conv.cpp:17: /root/wdt/folly/folly/functional/Invoke.h:23:63: fatal error: boost/preprocessor/facilities/is_empty_variadic.hpp: No such file or directory
^
compilation terminated. In file included from /root/wdt/folly/folly/functional/ApplyTuple.h:25:0, from /root/wdt/folly/folly/hash/Hash.h:31, from /root/wdt/folly/folly/FBString.h:45, from /root/wdt/folly/folly/Demangle.h:19, from /root/wdt/folly/folly/Demangle.cpp:17: /root/wdt/folly/folly/functional/Invoke.h:23:63: fatal error: boost/preprocessor/facilities/is_empty_variadic.hpp: No such file or directory
^
compilation terminated. In file included from /root/wdt/folly/folly/CpuId.h:21:0, from /root/wdt/folly/folly/hash/Checksum.cpp:19: /root/wdt/folly/folly/Portability.h:22:1: error: static assertion failed: cplusplus >= 201402L static_assert(cplusplus >= 201402L, "cplusplus >= 201402L"); ^ /root/wdt/folly/folly/Portability.h:26:1: error: static assertion failed: GNUC >= 5 static_assert(GNUC >= 5, "GNUC >= 5"); ^ In file included from /root/wdt/folly/folly/hash/detail/ChecksumDetail.h:19:0, from /root/wdt/folly/folly/hash/detail/Crc32CombineDetail.cpp:17: /root/wdt/folly/folly/Portability.h:22:1: error: static assertion failed: cplusplus >= 201402L static_assert(cplusplus >= 201402L, "cplusplus >= 201402L"); ^ /root/wdt/folly/folly/Portability.h:26:1: error: static assertion failed: GNUC >= 5 static_assert(GNUC >= 5, "GNUC >= 5"); ^ In file included from /root/wdt/folly/folly/CPortability.h:22:0, from /root/wdt/folly/folly/Portability.h:31, from /root/wdt/folly/folly/ScopeGuard.h:26, from /root/wdt/folly/folly/ScopeGuard.cpp:17: /root/wdt/folly/folly/portability/Config.h:23:18: error: missing binary operator before token "("
^
/root/wdt/folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
^
In file included from /root/wdt/folly/folly/lang/Bits.h:60:0,
from /root/wdt/folly/folly/Bits.h:17,
from /root/wdt/folly/folly/hash/detail/Crc32CombineDetail.cpp:22:
/root/wdt/folly/folly/ConstexprMath.h: In function ‘constexpr std::size_t folly::constexpr_find_last_set(T)’:
/root/wdt/folly/folly/ConstexprMath.h:151:13: error: expected type-specifier
using U = std::make_unsigned_t
Output from "cmake /root/wdt/CMakeLists.txt -DFOLLY_SOURCE_DIR=/root/wdt/folly"
-- Boost version: 1.53.0 -- Found the following Boost libraries: -- system -- filesystem -- Configuring done -- Generating done -- Build files have been written to: /root/wdt
The stock compiler on CentOS 7 is likely too old for this, I recommend trying to use the one from devtoolset instead.
Hi, I'm having issues with compiling wdt on CentOS 7 (and CentOS 6) . Compilation stops after many error messages in //usr/local/lib/libgflags.so.2.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status collect2: error: ld returned 1 exit status make[2]: [_bin/wdt/wdt_gen_test] Error 1 make[2]: [_bin/wdt/wdt_gen_stats] Error 1 make[1]: [CMakeFiles/wdt_gen_test.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make[1]: [CMakeFiles/wdt_gen_stats.dir/all] Error 2 make[2]: [_bin/wdt/bench/wdt_gen_files] Error 1 make[1]: *** [CMakeFiles/wdt_gen_files.dir/all] Error 2
In file included from /home/kacabr/new_working/wdt/../folly/folly/Portability.h:21:0, from /home/kacabr/new_working/wdt/../folly/folly/hash/detail/ChecksumDetail.h:19, from /home/kacabr/new_working/folly/folly/hash/detail/Crc32CombineDetail.cpp:17: /home/kacabr/new_working/wdt/../folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
if __has_include()
In file included from /home/kacabr/new_working/wdt/../folly/folly/Portability.h:21:0, from /home/kacabr/new_working/wdt/../folly/folly/hash/detail/ChecksumDetail.h:19, from /home/kacabr/new_working/folly/folly/hash/detail/ChecksumDetail.cpp:113: /home/kacabr/new_working/wdt/../folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
if __has_include()
In file included from /home/kacabr/new_working/wdt/../folly/folly/hash/detail/ChecksumDetail.h:19:0, from /home/kacabr/new_working/folly/folly/hash/detail/Crc32CombineDetail.cpp:17: /home/kacabr/new_working/wdt/../folly/folly/Portability.h:448:49: error: missing binary operator before token "("
if __cpp_coroutines >= 201703L && __has_include(<experimental/coroutine>)
In file included from /home/kacabr/new_working/wdt/../folly/folly/hash/detail/ChecksumDetail.h:19:0, from /home/kacabr/new_working/folly/folly/hash/detail/ChecksumDetail.cpp:113: /home/kacabr/new_working/wdt/../folly/folly/Portability.h:448:49: error: missing binary operator before token "("
if __cpp_coroutines >= 201703L && __has_include(<experimental/coroutine>)
In file included from /home/kacabr/new_working/wdt/../folly/folly/Portability.h:21:0, from /home/kacabr/new_working/wdt/../folly/folly/CpuId.h:21, from /home/kacabr/new_working/folly/folly/hash/Checksum.cpp:19: /home/kacabr/new_working/wdt/../folly/folly/portability/Config.h:27:18: error: missing binary operator before token "("
if __has_include()
...
Is wdt working with master branch from folly?