seastar
seastar copied to clipboard
configure error: The CXX_STANDARD property on target "seastar_perf_testing" contained an invalid value: "2a".
Hi! I tried to build seastar in WSL2 following README , but got a strange error when ./configure.py --mode=release:
$ ./configure.py --mode=release
-- Found Boost: /usr/include (found suitable version "1.71.0", minimum required is "1.64")
-- Found Boost: /usr/include (found suitable version "1.71.0", minimum required is "1.64.0") found components: filesystem program_options thread unit_test_framework chrono date_time atomic
-- Could NOT find dpdk (missing: dpdk_INCLUDE_DIR dpdk_PMD_VMXNET3_UIO_LIBRARY dpdk_PMD_I40E_LIBRARY dpdk_PMD_IXGBE_LIBRARY dpdk_PMD_E1000_LIBRARY dpdk_PMD_BNXT_LIBRARY dpdk_PMD_RING_LIBRARY dpdk_PMD_CXGBE_LIBRARY dpdk_PMD_ENA_LIBRARY dpdk_PMD_ENIC_LIBRARY dpdk_PMD_NFP_LIBRARY dpdk_PMD_QEDE_LIBRARY dpdk_RING_LIBRARY dpdk_KVARGS_LIBRARY dpdk_MEMPOOL_LIBRARY dpdk_MEMPOOL_RING_LIBRARY dpdk_HASH_LIBRARY dpdk_CMDLINE_LIBRARY dpdk_MBUF_LIBRARY dpdk_CFGFILE_LIBRARY dpdk_EAL_LIBRARY dpdk_ETHDEV_LIBRARY dpdk_NET_LIBRARY dpdk_TIMER_LIBRARY dpdk_PCI_LIBRARY dpdk_BUS_PCI_LIBRARY dpdk_BUS_VDEV_LIBRARY dpdk_PMD_FM10K_LIBRARY dpdk_PMD_SFC_EFX_LIBRARY)
-- Configuring done
CMake Error in CMakeLists.txt:
The CXX_STANDARD property on target "seastar_perf_testing" contained an
invalid value: "2a".
CMake Generate step failed. Build files cannot be regenerated correctly.
Traceback (most recent call last):
File "./configure.py", line 237, in <module>
configure_mode(mode)
File "./configure.py", line 234, in configure_mode
subprocess.check_call(ARGS, shell=False, cwd=dir)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '-G', 'Ninja', '../..', '-DCMAKE_BUILD_TYPE=RelWithDebInfo', '-DCMAKE_C_COMPILER=gcc', '-DCMAKE_CXX_COMPILER=g++', '-DCMAKE_INSTALL_PREFIX=/usr/local', '-DSeastar_API_LEVEL=6', '-DSeastar_SCHEDULING_GROUPS_COUNT=16', '-DSeastar_EXCLUDE_TESTS_FROM_ALL=no', '-DSeastar_EXCLUDE_APPS_FROM_ALL=no', '-DSeastar_EXCLUDE_DEMOS_FROM_ALL=no', '-DSeastar_CXX_FLAGS=', '-DSeastar_LD_FLAGS=', '-DSeastar_CXX_DIALECT=gnu++2a', '-DSeastar_DPDK=no', '-DSeastar_DPDK_MACHINE=native', '-DSeastar_HWLOC=yes', '-DSeastar_ALLOC_FAILURE_INJECTION=DEFAULT', '-DSeastar_TASK_BACKTRACE=no', '-DSeastar_ALLOC_PAGE_SIZE=no', '-DSeastar_SPLIT_DWARF=no', '-DSeastar_HEAP_PROFILING=no', '-DSeastar_DEFERRED_ACTION_REQUIRE_NOEXCEPT=yes', '-DSeastar_UNUSED_RESULT_ERROR=no', '-DSeastar_DEBUG_SHARED_PTR=default']' returned non-zero exit status 1.
My g++ version is 9.3.0, which support -std=gnu++2a.
$ g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I'm not sure how to eliminate that configure error, could someone give me help? Thanks.
Hello!
I had the same problem.
Try this:
./configure.py --mode=release --c++-dialect=gnu++17
It looks like that CMake do not know flag such flag as 2a in CXX_STANDARD variable.
At least CMake 3.16 do not know https://cmake.org/cmake/help/v3.16/prop_tgt/CXX_STANDARD.html
Also, there is a problem with
Looks like few tweaks in configure script and guards on
Some dirty fixes to build master branch on gcc 9.3 and CMake 3.16 (aka with Ubuntu 20.04)
I need some help to make proper solution, because gcc 9.3 has buggy attributes support + no concepts.
Also stale version of CryptoPP has no byte definition in namespace.
@masscry
./configure.py --mode=release --c++-dialect=gnu++17
This resolves my problem! Thanks.
@masscry
./configure.py --mode=release --c++-dialect=gnu++17
This resolves my problem! Thanks.
me too, thank you @masscry.