Closed identitymapping closed 3 months ago
Thank you very much, Professor!
@FloydZ I switched to a computer with an EPYC 9654 CPU and found that the above problem did not occur. Now I have installed the software package successfully. But I don't know how to successfully run the code in the tests folder. Could you please teach me how to use this software package?
I tried running the code under tests folder.I created a build folder,then first using the cmake ..
command, and then using the make
command to compile, but encountered many errors. The details are as follows. It seems that the main issue is still with the cryptanalysislib library.
Consolidate compiler generated dependencies of target isd
[ 3%] Building CXX object CMakeFiles/isd.dir/isd.o
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:9,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint8x16_t::_uint8x16_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:55:51: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint8x16_t::<unnamed union>’ must initialize exactly one non-static data member
55 | constexpr _uint8x16_t() noexcept {}
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint16x8_t::_uint16x8_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:253:51: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint16x8_t::<unnamed union>’ must initialize exactly one non-static data member
253 | constexpr _uint16x8_t() noexcept {}
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint32x4_t::_uint32x4_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:421:51: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint32x4_t::<unnamed union>’ must initialize exactly one non-static data member
421 | constexpr _uint32x4_t() noexcept {}
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint64x2_t::_uint64x2_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:575:51: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint64x2_t::<unnamed union>’ must initialize exactly one non-static data member
575 | constexpr _uint64x2_t() noexcept {}
| ^
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2282,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:9,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h: In constructor ‘constexpr f32x8_t::f32x8_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h:16:9: error: ‘constexpr’ constructor for union ‘f32x8_t::<unnamed union>’ must initialize exactly one non-static data member
16 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h: In constructor ‘constexpr f32x8_t::f32x8_t(uint32x8_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h:22:9: error: ‘constexpr’ constructor for union ‘f32x8_t::<unnamed union>’ must initialize exactly one non-static data member
22 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h: In constructor ‘constexpr f64x4_t::f64x4_t()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h:63:9: error: ‘constexpr’ constructor for union ‘f64x4_t::<unnamed union>’ must initialize exactly one non-static data member
63 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h: In constructor ‘constexpr f64x4_t::f64x4_t(uint64x4_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/float/simd.h:69:9: error: ‘constexpr’ constructor for union ‘f64x4_t::<unnamed union>’ must initialize exactly one non-static data member
69 | }
| ^
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:9,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint8x16_t::_uint8x16_t(const cryptanalysislib::_uint16x8_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2752:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint8x16_t::<unnamed union>’ must initialize exactly one non-static data member
2752 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint8x16_t::_uint8x16_t(const cryptanalysislib::_uint32x4_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2757:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint8x16_t::<unnamed union>’ must initialize exactly one non-static data member
2757 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint8x16_t::_uint8x16_t(const cryptanalysislib::_uint64x2_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2762:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint8x16_t::<unnamed union>’ must initialize exactly one non-static data member
2762 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint16x8_t::_uint16x8_t(const cryptanalysislib::_uint8x16_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2768:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint16x8_t::<unnamed union>’ must initialize exactly one non-static data member
2768 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint16x8_t::_uint16x8_t(const cryptanalysislib::_uint32x4_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2773:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint16x8_t::<unnamed union>’ must initialize exactly one non-static data member
2773 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint16x8_t::_uint16x8_t(const cryptanalysislib::_uint64x2_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2778:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint16x8_t::<unnamed union>’ must initialize exactly one non-static data member
2778 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint32x4_t::_uint32x4_t(const cryptanalysislib::_uint16x8_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2784:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint32x4_t::<unnamed union>’ must initialize exactly one non-static data member
2784 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint32x4_t::_uint32x4_t(const cryptanalysislib::_uint8x16_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2789:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint32x4_t::<unnamed union>’ must initialize exactly one non-static data member
2789 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint32x4_t::_uint32x4_t(const cryptanalysislib::_uint64x2_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2794:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint32x4_t::<unnamed union>’ must initialize exactly one non-static data member
2794 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint64x2_t::_uint64x2_t(const cryptanalysislib::_uint16x8_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2800:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint64x2_t::<unnamed union>’ must initialize exactly one non-static data member
2800 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint64x2_t::_uint64x2_t(const cryptanalysislib::_uint32x4_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2805:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint64x2_t::<unnamed union>’ must initialize exactly one non-static data member
2805 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h: In constructor ‘constexpr cryptanalysislib::_uint64x2_t::_uint64x2_t(const cryptanalysislib::_uint8x16_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2810:9: error: ‘constexpr’ constructor for union ‘cryptanalysislib::_uint64x2_t::<unnamed union>’ must initialize exactly one non-static data member
2810 | }
| ^
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2892,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:9,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:17:5: error: ‘requires’ does not name a type
17 | requires std::is_integral_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:17:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/simd.h:2892,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:9,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:320:8: error: ‘TxN_t’ does not name a type
320 | inline TxN_t<T, N> operator*(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:324:8: error: ‘TxN_t’ does not name a type
324 | inline TxN_t<T, N> operator*(const TxN_t<T, N> &lhs, const uint8_t &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:328:8: error: ‘TxN_t’ does not name a type
328 | inline TxN_t<T, N> operator*(const uint8_t &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:332:8: error: ‘TxN_t’ does not name a type
332 | inline TxN_t<T, N> operator+(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:336:8: error: ‘TxN_t’ does not name a type
336 | inline TxN_t<T, N> operator-(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:340:8: error: ‘TxN_t’ does not name a type
340 | inline TxN_t<T, N> operator&(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:344:8: error: ‘TxN_t’ does not name a type
344 | inline TxN_t<T, N> operator^(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:348:8: error: ‘TxN_t’ does not name a type
348 | inline TxN_t<T, N> operator|(const TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:352:8: error: ‘TxN_t’ does not name a type
352 | inline TxN_t<T, N> operator~(const TxN_t<T, N> &lhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:364:8: error: ‘TxN_t’ does not name a type
364 | inline TxN_t<T, N> operator^=(TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:369:8: error: ‘TxN_t’ does not name a type
369 | inline TxN_t<T, N> operator&=(TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:374:8: error: ‘TxN_t’ does not name a type
374 | inline TxN_t<T, N> operator|=(TxN_t<T, N> &lhs, const TxN_t<T, N> &rhs) {
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:381:7: error: ‘TxN_t’ is not a class template
381 | class TxN_t<uint64_t, 4> : public uint64x4_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:381:46: error: explicit specialization of non-template ‘TxN_t’
381 | class TxN_t<uint64_t, 4> : public uint64x4_t {};
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:383:7: error: ‘TxN_t’ is not a class template
383 | class TxN_t<uint32_t, 8> : public uint32x8_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:383:24: error: ‘TxN_t’ is not a template
383 | class TxN_t<uint32_t, 8> : public uint32x8_t {};
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:381:7: note: previous declaration here
381 | class TxN_t<uint64_t, 4> : public uint64x4_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:385:7: error: ‘TxN_t’ is not a class template
385 | class TxN_t<uint16_t, 16> : public uint16x16_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:385:25: error: ‘TxN_t’ is not a template
385 | class TxN_t<uint16_t, 16> : public uint16x16_t {};
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:381:7: note: previous declaration here
381 | class TxN_t<uint64_t, 4> : public uint64x4_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:387:7: error: ‘TxN_t’ is not a class template
387 | class TxN_t<uint8_t, 32> : public uint8x32_t {};
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:387:24: error: ‘TxN_t’ is not a template
387 | class TxN_t<uint8_t, 32> : public uint8x32_t {};
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/simd/generic.h:381:7: note: previous declaration here
381 | class TxN_t<uint64_t, 4> : public uint64x4_t {};
| ^~~~~
In file included from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:14:1: error: ‘concept’ does not name a type
14 | concept EnumeratorAble = requires(Enumerator e) {
| ^~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:14:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:11,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:15:44: error: ‘mutex’ in namespace ‘std’ does not name a type
15 | template<typename T, typename Mutex = std::mutex>
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:9:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
8 | #include <queue>
+++ |+#include <mutex>
9 |
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:19:22: error: ‘lock_guard’ in namespace ‘std’ does not name a template type
19 | typedef std::lock_guard<mutex_type> lock_type;
| ^~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:19:17: note: ‘std::lock_guard’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
19 | typedef std::lock_guard<mutex_type> lock_type;
| ^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:25:9: error: ‘constexpr’ destructors only available with ‘-std=c++20’ or ‘-std=gnu++20’
25 | constexpr ~concurrent_queue() noexcept {}
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h: In member function ‘constexpr std::size_t concurrent_queue<T, Mutex>::size()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:29:17: error: ‘lock_type’ was not declared in this scope
29 | lock_type lock(_mutex);
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h: In member function ‘constexpr bool concurrent_queue<T, Mutex>::empty()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:35:17: error: ‘lock_type’ was not declared in this scope
35 | lock_type lock(_mutex);
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h: In member function ‘constexpr bool concurrent_queue<T, Mutex>::try_pop_front(concurrent_queue<T, Mutex>::value_type&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:56:17: error: ‘lock_type’ was not declared in this scope
56 | lock_type lock(_mutex);
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h: In member function ‘constexpr void concurrent_queue<T, Mutex>::_emplace_back(Args&& ...)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/queue.h:69:17: error: ‘lock_type’ was not declared in this scope
69 | lock_type lock(_mutex);
| ^~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:11,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:91:1: error: ‘concept’ does not name a type
91 | concept Allocator = requires(T a, Blk b, size_t n) {
| ^~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:91:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:173:10: error: ‘Allocator’ has not been declared
173 | template<Allocator Parent, const size_t size>
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:174:7: error: no default argument for ‘size’
174 | class FreeListAllocator {
| ^~~~~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:179:9: error: ‘Parent’ does not name a type
179 | Parent _parent;
| ^~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:264:10: error: ‘Allocator’ has not been declared
264 | template<Allocator A,
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:267:7: error: no default argument for ‘Prefix’
267 | class AffixAllocator {
| ^~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:278:9: error: ‘A’ does not name a type
278 | A allocator;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:430:37: error: template argument 2 is invalid
430 | typedef concurrent_queue<Blk> queue_type;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:443:22: error: ‘mutex’ in namespace ‘std’ does not name a type
443 | std::mutex _mutex;
| ^~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:11:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
10 | #include "memory/memory.h"
+++ |+#include <mutex>
11 |
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h: In destructor ‘FreeListPageMallocator<_page_alignment, _page_size, PAllocator>::_static_helper::~_static_helper()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/alloc/alloc.h:450:39: error: request for member ‘try_pop_front’ in ‘((FreeListPageMallocator<_page_alignment, _page_size, PAllocator>::_static_helper*)this)->FreeListPageMallocator<_page_alignment, _page_size, PAllocator>::_static_helper::_queue’, which is of non-class type ‘FreeListPageMallocator<_page_alignment, _page_size, PAllocator>::queue_type’ {aka ‘int’}
450 | while (_queue.try_pop_front(p)) {
| ^~~~~~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:5,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:17:13: error: ‘requires’ does not name a type
17 | requires std::is_arithmetic<T>::value
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:17:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:27:13: error: ‘requires’ does not name a type
27 | requires std::is_floating_point<T>::value
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:27:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:39:13: error: ‘requires’ does not name a type
39 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/abs.h:39:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/entropy.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/exp.h:24:13: error: ‘requires’ does not name a type
24 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/exp.h:24:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/exp.h:35:13: error: ‘requires’ does not name a type
35 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/exp.h:35:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/entropy.h:8,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:16:13: error: ‘requires’ does not name a type
16 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:16:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:23:13: error: ‘requires’ does not name a type
23 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:23:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:42:13: error: ‘requires’ does not name a type
42 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:42:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:49:13: error: ‘requires’ does not name a type
49 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:49:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:59:13: error: ‘requires’ does not name a type
59 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:59:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:78:13: error: ‘requires’ does not name a type
78 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/log.h:78:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/entropy.h:17:17: error: ‘requires’ does not name a type
17 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/entropy.h:17:17: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:9,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/floor.h:15:13: error: ‘requires’ does not name a type
15 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/floor.h:15:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:10,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/ipow.h:16:5: error: ‘requires’ does not name a type
16 | requires std::is_arithmetic_v<T> &&
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/ipow.h:16:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:12,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:16:13: error: ‘requires’ does not name a type
16 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:16:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:24:13: error: ‘requires’ does not name a type
24 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:24:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:35:13: error: ‘requires’ does not name a type
35 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:35:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:12,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:43:13: error: ‘requires’ does not name a type
43 | requires std::is_arithmetic_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:43:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:53:13: error: ‘requires’ does not name a type
53 | requires std::is_arithmetic_v<T> &&
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:53:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:62:13: error: ‘requires’ does not name a type
62 | requires std::is_arithmetic_v<T> &&
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/root.h:62:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:13,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/round.h:11:13: error: ‘requires’ does not name a type
11 | requires std::is_floating_point_v<T>
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/round.h:11:13: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/math.h:20,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_packed_vector.h:11,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:6,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:10:20: error: ‘std::unsigned_integral’ has not been declared
10 | template<size_t N, std::unsigned_integral T = uint64_t>
| ^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:10:55: error: expected primary-expression before ‘>’ token
10 | template<size_t N, std::unsigned_integral T = uint64_t>
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:11:29: error: ‘T’ was not declared in this scope
11 | struct big_int : std::array<T, N> {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:11:33: error: template argument 1 is invalid
11 | struct big_int : std::array<T, N> {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:19:33: error: ‘T’ does not name a type
19 | constexpr big_int(const T a) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:34:42: error: template argument 2 is invalid
34 | constexpr big_int(const big_int<M> &a) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto cryptanalysislib::take(int)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:87:28: error: invalid types ‘int[long unsigned int]’ for array subscript
87 | res[i-Begin] = t[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:87:41: error: invalid types ‘int[long unsigned int]’ for array subscript
87 | res[i-Begin] = t[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto cryptanalysislib::take(int, size_t, size_t, size_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:104:28: error: invalid types ‘int[long unsigned int]’ for array subscript
104 | res[i - Begin + Offset] = t[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:104:52: error: invalid types ‘int[long unsigned int]’ for array subscript
104 | res[i - Begin + Offset] = t[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto cryptanalysislib::unary_encoding()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:157:20: error: invalid types ‘int[long unsigned int]’ for array subscript
157 | res[K] = 1;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto cryptanalysislib::unary_encoding(size_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:169:20: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
169 | res[K] = 1;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto add_same(int, int)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:186:28: error: invalid types ‘int[unsigned int]’ for array subscript
186 | auto aa = a[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:187:34: error: invalid types ‘int[unsigned int]’ for array subscript
187 | auto sum = aa + b[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:190:18: error: invalid types ‘int[unsigned int]’ for array subscript
190 | r[i] = res;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:193:10: error: invalid types ‘int[long unsigned int]’ for array subscript
193 | r[N] = carry;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto subtract_same(int, int)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:209:28: error: invalid types ‘int[unsigned int]’ for array subscript
209 | auto aa = a[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:210:35: error: invalid types ‘int[unsigned int]’ for array subscript
210 | auto diff = aa - b[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:213:18: error: invalid types ‘int[unsigned int]’ for array subscript
213 | r[i] = res;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:217:10: error: invalid types ‘int[long unsigned int]’ for array subscript
217 | r[N] = carry * static_cast<T>(-1);
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr auto mul(int, int)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:264:49: error: invalid types ‘int[unsigned int]’ for array subscript
264 | TT t = static_cast<TT>(u[i]) * static_cast<TT>(v[j]) + w[i + j] + k;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:264:73: error: invalid types ‘int[unsigned int]’ for array subscript
264 | TT t = static_cast<TT>(u[i]) * static_cast<TT>(v[j]) + w[i + j] + k;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:264:81: error: invalid types ‘int[unsigned int]’ for array subscript
264 | TT t = static_cast<TT>(u[i]) * static_cast<TT>(v[j]) + w[i + j] + k;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:265:26: error: invalid types ‘int[unsigned int]’ for array subscript
265 | w[i + j] = static_cast<T>(t);
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:268:18: error: invalid types ‘int[long unsigned int]’ for array subscript
268 | w[j + M] = k;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:287:53: error: template argument 1 is invalid
287 | constexpr DivisionResult<big_int<M, T>, big_int<N, T>> div(big_int<M, T> u,
| ^~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:287:53: error: template argument 2 is invalid
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr int div(int, int)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:307:32: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
307 | while (tight_N > 0 && v[tight_N - 1] == 0)
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:318:73: error: invalid types ‘int[int]’ for array subscript
318 | TT w = (r << std::numeric_limits<T>::digits) + u[i];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:319:26: error: invalid types ‘int[int]’ for array subscript
319 | q[i] = w / v[0];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:319:37: error: invalid types ‘int[int]’ for array subscript
319 | q[i] = w / v[0];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:320:34: error: invalid types ‘int[int]’ for array subscript
320 | r = w % v[0];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:326:17: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
326 | while (v[tight_N - 1] <
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:329:48: error: there are no arguments to ‘shift_left’ that depend on a template parameter, so a declaration of ‘shift_left’ must be available [-fpermissive]
329 | v = cryptanalysislib::first<N>(shift_left(v, 1));
| ^~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:329:48: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:331:19: error: there are no arguments to ‘shift_left’ that depend on a template parameter, so a declaration of ‘shift_left’ must be available [-fpermissive]
331 | auto us = shift_left(u, k);
| ^~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:337:34: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
337 | TT qhat = tmp / v[tight_N - 1];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:338:34: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
338 | TT rhat = tmp % v[tight_N - 1];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:342:33: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
342 | (qhat * v[tight_N - 2] >
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:345:34: error: invalid types ‘int[size_t {aka long unsigned int}]’ for array subscript
345 | rhat += v[tight_N - 1];
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:354:78: error: no matching function for call to ‘pad<2>(int&)’
354 | auto new_us_part = add_ignore_carry(corrected, pad<2>(v));
| ~~~~~~^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:117:24: note: candidate: ‘template<long unsigned int N, class T, long unsigned int N1> constexpr auto cryptanalysislib::pad(int)’
117 | constexpr auto pad(big_int<N1, T> t) {
| ^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:117:24: note: template argument deduction/substitution failed:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:354:78: note: couldn’t deduce template parameter ‘T’
354 | auto new_us_part = add_ignore_carry(corrected, pad<2>(v));
| ~~~~~~^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:362:18: error: invalid types ‘int[int]’ for array subscript
362 | q[j] = qhat;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: In function ‘constexpr int binomial()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:402:49: error: template argument 1 is invalid
402 | std::array<std::array<big_int<N, T>, k+1>, n+1> tmp;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:402:55: error: template argument 1 is invalid
402 | std::array<std::array<big_int<N, T>, k+1>, n+1> tmp;
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:417:16: error: ‘constexpr auto operator/(int, int)’ must have an argument of class or enumerated type
417 | constexpr auto operator/(big_int<N1, T> a, big_int<N2, T> b) {
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:422:16: error: ‘constexpr auto operator%(int, int)’ must have an argument of class or enumerated type
422 | constexpr auto operator%(big_int<N1, T> a, big_int<N2, T> b) {
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:427:16: error: ‘constexpr auto operator*(int, int)’ must have an argument of class or enumerated type
427 | constexpr auto operator*(big_int<N1, T> a, big_int<N2, T> b) {
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:432:16: error: ‘constexpr auto operator+(int, int)’ must have an argument of class or enumerated type
432 | constexpr auto operator+(big_int<N1, T> a, big_int<N2, T> b) {
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/math/bigint/bigint.h:437:16: error: ‘constexpr auto operator-(int, int)’ must have an argument of class or enumerated type
437 | constexpr auto operator-(big_int<N1, T> a, big_int<N2, T> b) {
| ^~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h:9,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/common.h:7:1: error: ‘concept’ does not name a type
7 | concept kAryContainerAble =
| ^~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/common.h:7:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h: In static member function ‘static constexpr bool kAryContainerMeta<T, n, q>::add(kAryContainerMeta<T, n, q>&, const kAryContainerMeta<T, n, q>&, const kAryContainerMeta<T, n, q>&, uint32_t, uint32_t, uint32_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h:484:54: error: ‘abs’ is not a member of ‘cryptanalysislib::math’
484 | if ((cryptanalysislib::math::abs(v3.__data[i]) > norm) && (norm != uint32_t(-1)))
| ^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h:484:54: note: suggested alternatives:
In file included from /usr/include/c++/11/cstdlib:77,
from /usr/include/c++/11/ext/string_conversions.h:41,
from /usr/include/c++/11/bits/basic_string.h:6608,
from /usr/include/c++/11/string:55,
from /usr/include/c++/11/bits/locale_classes.h:40,
from /usr/include/c++/11/bits/ios_base.h:41,
from /usr/include/c++/11/ios:42,
from /usr/include/c++/11/ostream:38,
from /root/autodl-tmp/benchmark-main/build/third_party/googletest/src/googletest/include/gtest/gtest.h:58,
from /root/autodl-tmp/decoding/tests/isd.cpp:1:
/usr/include/c++/11/bits/std_abs.h:56:3: note: ‘abs’
56 | abs(long __i) { return __builtin_labs(__i); }
| ^~~
/usr/include/c++/11/bits/std_abs.h:103:3: note: ‘std::abs’
103 | abs(__float128 __x)
| ^~~
In file included from /usr/include/c++/11/bits/this_thread_sleep.h:38,
from /usr/include/c++/11/thread:44,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/helper.h:48,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:8,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/usr/include/c++/11/chrono:393:7: note: ‘std::chrono::abs’
393 | abs(duration<_Rep, _Period> __d)
| ^~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/matrix.h:7,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/fq_matrix.h:4,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/matrix/binary_matrix.h:13,
from /root/autodl-tmp/decoding/src/mitm.h:6,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h: In static member function ‘static constexpr bool kAryContainerMeta<T, n, q>::sub(kAryContainerMeta<T, n, q>&, const kAryContainerMeta<T, n, q>&, const kAryContainerMeta<T, n, q>&, uint32_t, uint32_t, uint32_t)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h:542:54: error: ‘abs’ is not a member of ‘cryptanalysislib::math’
542 | if ((cryptanalysislib::math::abs(v3.__data[i]) > norm) && (norm != uint32_t(-1)))
| ^~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/fq_vector.h:542:54: note: suggested alternatives:
In file included from /usr/include/c++/11/cstdlib:77,
from /usr/include/c++/11/ext/string_conversions.h:41,
from /usr/include/c++/11/bits/basic_string.h:6608,
from /usr/include/c++/11/string:55,
from /usr/include/c++/11/bits/locale_classes.h:40,
from /usr/include/c++/11/bits/ios_base.h:41,
from /usr/include/c++/11/ios:42,
from /usr/include/c++/11/ostream:38,
from /root/autodl-tmp/benchmark-main/build/third_party/googletest/src/googletest/include/gtest/gtest.h:58,
from /root/autodl-tmp/decoding/tests/isd.cpp:1:
/usr/include/c++/11/bits/std_abs.h:56:3: note: ‘abs’
56 | abs(long __i) { return __builtin_labs(__i); }
| ^~~
/usr/include/c++/11/bits/std_abs.h:103:3: note: ‘std::abs’
103 | abs(__float128 __x)
| ^~~
In file included from /usr/include/c++/11/bits/this_thread_sleep.h:38,
from /usr/include/c++/11/thread:44,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/helper.h:48,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/combination/chase.h:8,
from /root/autodl-tmp/decoding/src/mitm.h:5,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/usr/include/c++/11/chrono:393:7: note: ‘std::chrono::abs’
393 | abs(duration<_Rep, _Period> __d)
| ^~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:4,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/hash/simple.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/hash/simple.h:14:5: error: ‘requires’ does not name a type
14 | requires std::is_integral<T>::value
| ^~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/hash/simple.h:14:5: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:9,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:7,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/atomic_primitives.h: In member function ‘void one_byte_mutex::lock()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/atomic_primitives.h:147:31: error: ‘struct std::atomic<unsigned char>’ has no member named ‘wait’
147 | state.wait(sleeper, std::memory_order_relaxed);
| ^~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/atomic_primitives.h: In member function ‘void one_byte_mutex::unlock()’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/atomic_primitives.h:154:31: error: ‘struct std::atomic<unsigned char>’ has no member named ‘notify_one’
154 | state.notify_one();
| ^~~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:7,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:135:57: error: ‘is_bounded_array_v’ is not a member of ‘std’
135 | using ret_type = typename std::conditional<std::is_bounded_array_v<data_type>,
| ^~~~~~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:135:85: error: wrong number of template arguments (1, should be 3)
135 | using ret_type = typename std::conditional<std::is_bounded_array_v<data_type>,
| ^
In file included from /usr/include/c++/11/bits/move.h:57,
from /usr/include/c++/11/bits/stl_pair.h:59,
from /usr/include/c++/11/bits/stl_algobase.h:64,
from /usr/include/c++/11/memory:63,
from /root/autodl-tmp/benchmark-main/build/third_party/googletest/src/googletest/include/gtest/gtest.h:57,
from /root/autodl-tmp/decoding/tests/isd.cpp:1:
/usr/include/c++/11/type_traits:105:12: note: provided for ‘template<bool <anonymous>, class, class> struct std::conditional’
105 | struct conditional;
| ^~~~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:7,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:135:86: error: expected identifier before ‘,’ token
135 | using ret_type = typename std::conditional<std::is_bounded_array_v<data_type>,
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:138:26: error: ‘ret_type’ does not name a type; did you mean ‘key_type’?
138 | constexpr inline ret_type ptr(const index_type i) noexcept {
| ^~~~~~~~
| key_type
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:148:26: error: ‘ret_type’ does not name a type; did you mean ‘key_type’?
148 | constexpr inline ret_type operator[](const index_type i) noexcept {
| ^~~~~~~~
| key_type
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h: In member function ‘constexpr void SimpleHashMap<keyType, valueType, config, Hash>::insert(const keyType&, const valueType&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:105:36: error: ‘is_bounded_array_v’ is not a member of ‘std’
105 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^~~~~~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:105:64: error: expected primary-expression before ‘>’ token
105 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple.h:105:65: error: expected primary-expression before ‘)’ token
105 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:8,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h: In member function ‘constexpr void Simple2HashMap<keyType, valueType, config, Hash>::insert(const keyType&, valueType)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:117:36: error: ‘is_bounded_array_v’ is not a member of ‘std’
117 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^~~~~~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:117:64: error: expected primary-expression before ‘>’ token
117 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:117:65: error: expected primary-expression before ‘)’ token
117 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h: In member function ‘constexpr Simple2HashMap<keyType, valueType, config, Hash>::inner_data_type Simple2HashMap<keyType, valueType, config, Hash>::ptr(Simple2HashMap<keyType, valueType, config, Hash>::index_type)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:145:36: error: ‘is_bounded_array_v’ is not a member of ‘std’
145 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^~~~~~~~~~~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:145:64: error: expected primary-expression before ‘>’ token
145 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/simple2.h:145:65: error: expected primary-expression before ‘)’ token
145 | if constexpr (std::is_bounded_array_v<data_type>) {
| ^
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch_hash.h:21,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:14,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/growth_policy.h: In constructor ‘constexpr cryptanalysislib::hh::prime_growth_policy::prime_growth_policy(std::size_t&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/growth_policy.h:239:57: error: call to non-‘constexpr’ function ‘_ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = const long unsigned int*; _Tp = long unsigned int]’
239 | auto it_prime = std::lower_bound(
| ~~~~~~~~~~~~~~~~^
240 | detail::PRIMES.begin(), detail::PRIMES.end(), min_bucket_count_in_out);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/memory:63,
from /root/autodl-tmp/benchmark-main/build/third_party/googletest/src/googletest/include/gtest/gtest.h:57,
from /root/autodl-tmp/decoding/tests/isd.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:1490:5: note: ‘_ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = const long unsigned int*; _Tp = long unsigned int]’ declared here
1490 | lower_bound(_ForwardIterator __first, _ForwardIterator __last,
| ^~~~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch_hash.h:21,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:14,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/growth_policy.h:252:17: error: member ‘cryptanalysislib::hh::prime_growth_policy::m_iprime’ must be initialized by mem-initializer in ‘constexpr’ constructor
252 | }
| ^
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/growth_policy.h:273:26: note: declared here
273 | uint32_t m_iprime;
| ^~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:14,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch_hash.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch_hash.h:196:25: error: ‘constexpr’ destructors only available with ‘-std=c++20’ or ‘-std=gnu++20’
196 | constexpr ~hopscotch_bucket() noexcept {
| ^~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:17,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/ska_flat.h:135:9: error: ‘constexpr’ destructors only available with ‘-std=c++20’ or ‘-std=gnu++20’
135 | constexpr ~sherwood_v3_entry() {}
| ^~~~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/ska_flat.h:353:9: error: ‘constexpr’ destructors only available with ‘-std=c++20’ or ‘-std=gnu++20’
353 | constexpr ~sherwood_v3_table() noexcept {
| ^~~~~~~~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:17,
from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/ska_flat.h: In constructor ‘constexpr sherwood_v10_table<T, FindKey, ArgumentHash, Hasher, ArgumentEqual, Equal, ArgumentAlloc, EntryAlloc, BucketAllocator>::sherwood_v10_table(const sherwood_v10_table<T, FindKey, ArgumentHash, Hasher, ArgumentEqual, Equal, ArgumentAlloc, EntryAlloc, BucketAllocator>&, const ArgumentAlloc&)’:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/ska_flat.h:937:17: warning: ‘try’ in ‘constexpr’ function only available with ‘-std=c++20’ or ‘-std=gnu++20’
937 | try {
| ^~~
In file included from /root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap.h:10,
from /root/autodl-tmp/decoding/src/mitm.h:7,
from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h: At global scope:
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:25:1: error: ‘concept’ does not name a type
25 | concept InternalHashMapAble =
| ^~~~~~~
/root/autodl-tmp/decoding/deps/cryptanalysislib/src/container/hashmap/hopscotch.h:25:1: note: ‘concept’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/src/mitm.h:128:1: error: ‘requires’ does not name a type
128 | requires HashMapAble<HashMap>
| ^~~~~~~~
/root/autodl-tmp/decoding/src/mitm.h:128:1: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
/root/autodl-tmp/decoding/src/mitm.h:368:1: error: ‘requires’ does not name a type
368 | requires HashMapAble<HashMap>
| ^~~~~~~~
/root/autodl-tmp/decoding/src/mitm.h:368:1: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
In file included from /root/autodl-tmp/decoding/tests/isd.cpp:5:
/root/autodl-tmp/decoding/src/mitm.h:586:1: error: ‘requires’ does not name a type
586 | requires HashMapAble<HashMap1> && HashMapAble<HashMap2>
| ^~~~~~~~
/root/autodl-tmp/decoding/src/mitm.h:586:1: note: ‘requires’ only available with ‘-std=c++20’ or ‘-fconcepts’
make[2]: *** [CMakeFiles/isd.dir/build.make:76: CMakeFiles/isd.dir/isd.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:236: CMakeFiles/isd.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
Hi,
I just updated the dependencies of cryptanalyislib
in decoding
. For me everything compiles.
But please note the following:
-std=c++20
flag. Please update to atleast gcc-11
or clang-11
. Everything below will not be supported.I replaced updated cryptanalyislib
package and upgraded to gcc-11 and clang-11 above, but when I compiling the samples in tests
under decoding
, the above problem still occurs. I don't know if it's a problem with the CMakeLists.txt file or my compilation method (I first create a new build file under the tests
file, and then execute the cmake../
and make
commands)
This is the error message I encountered after executing the make command. It seems to be a code error in the avx2. h file, but I checked and found out that my CPU supports avx2. Could you please help me figure out what's going on? @FloydZ