I tried to build the 25.0.0 release on Arch Linux but it failed with these errors:
cmake_options=(
-B build
-S apache-arrow-25.0.0/cpp
-G Ninja
-W no-dev
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_INSTALL_PREFIX="/usr"
-DCMAKE_INSTALL_LIBDIR="lib"
-DARROW_SIMD_LEVEL=NONE
-DARROW_RUNTIME_SIMD_LEVEL=MAX
-DARROW_DEPENDENCY_SOURCE=SYSTEM
-DARROW_BUILD_STATIC=OFF
-DARROW_BUILD_TESTS=ON
-DARROW_BUILD_UTILITIES=ON
-DARROW_COMPUTE=ON
-DARROW_CSV=ON
-DARROW_FILESYSTEM=ON
-DARROW_FLIGHT=ON
-DARROW_FLIGHT_SQL=ON
-DARROW_GANDIVA=OFF
-DARROW_HDFS=ON
-DARROW_IPC=ON
-DARROW_JEMALLOC=ON
-DARROW_JSON=ON
-DARROW_ORC=ON
-DARROW_PARQUET=ON
-DARROW_S3=ON
-DARROW_SUBSTRAIT=ON
-DARROW_TENSORFLOW=ON
-DARROW_USE_GLOG=ON
-DARROW_WITH_BROTLI=ON
-DARROW_WITH_BZ2=ON
-DARROW_WITH_LZ4=ON
-DARROW_WITH_SNAPPY=ON
-DARROW_WITH_ZLIB=ON
-DARROW_WITH_ZSTD=ON
-DPARQUET_REQUIRE_ENCRYPTION=ON
)
cmake "${cmake_options[@]}"
cmake --build build
...
FAILED: [code=1] src/arrow/CMakeFiles/arrow_util.dir/util/bpacking.cc.o
/usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_WITH_TIMING_TESTS -DGFLAGS_IS_A_DLL=0 -DGLOG_USE_GFLAGS -DGLOG_USE_GLOG_EXPORT -DURI_STATIC_BUILD -I/build/arrow/src/build/src -I/build/arrow/src/apache-arrow-25.0.0/cpp/src -Wredundant-move -Wno-noexcept-type -Wno-self-move -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/arrow/src=/usr/src/debug/arrow -flto=auto -fdiagnostics-color=always -Wall -Wno-conversion -Wno-sign-conversion -Wdate-time -Wimplicit-fallthrough -Wunused-result -fno-semantic-interposition -O2 -g -DNDEBUG -ftree-vectorize -ggdb -std=c++20 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/bpacking.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/bpacking.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/bpacking.cc.o -c /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc
In file included from /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:23:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In static member function ‘static constexpr auto arrow::internal::{anonymous}::UnpackDynamicFunction<Uint>::targets()’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:39:49: error: ‘unpack_sse4_2’ is not a member of ‘arrow::internal::bpacking’ [-Wtemplate-body]
39 | ARROW_DISPATCH_TARGET_SSE4_2(&bpacking::unpack_sse4_2<Uint>) //
| ^~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:158:10: note: in definition of macro ‘ARROW_DISPATCH_TARGET_SSE4_2’
158 | (func), \
| ^~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:39:67: error: expected primary-expression before ‘>’ token [-Wtemplate-body]
39 | ARROW_DISPATCH_TARGET_SSE4_2(&bpacking::unpack_sse4_2<Uint>) //
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:158:10: note: in definition of macro ‘ARROW_DISPATCH_TARGET_SSE4_2’
158 | (func), \
| ^~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:158:14: error: expected primary-expression before ‘)’ token [-Wtemplate-body]
158 | (func), \
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:39:9: note: in expansion of macro ‘ARROW_DISPATCH_TARGET_SSE4_2’
39 | ARROW_DISPATCH_TARGET_SSE4_2(&bpacking::unpack_sse4_2<Uint>) //
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = bool; uint8_t = unsigned char]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:54:71: required from here
54 | template void unpack<bool>(const uint8_t*, bool*, const UnpackOptions&);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: error: template constraint failure for ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch’
50 | static const DynamicDispatch<UnpackDynamicFunction<Uint>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: note: constraints not satisfied
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h: In substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::internal::{anonymous}::UnpackDynamicFunction<bool>]’:
• required from ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = bool; uint8_t = unsigned char]’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:54:71:
54 | template void unpack<bool>(const uint8_t*, bool*, const UnpackOptions&);
| ^
• required for the satisfaction of ‘DynamicDispatchSpec<DynamicFunction>’ [with DynamicFunction = arrow::internal::<unnamed>::UnpackDynamicFunction<bool>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:9:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~~~~~~~~~~
• in requirements [with T = arrow::internal::<unnamed>::UnpackDynamicFunction<bool>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:31:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~
230 | typename T::FunctionType;
| ~~~~~~~~~~~~~~~~~~~~~~~~~
231 |
|
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 | requires T::targets().size() > 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | };
| ~
• the required expression ‘T::targets()’ is invalid
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15:
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
• nested requirement ‘(T::targets().size() > 0)’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:233:12:
233 | requires T::targets().size() > 0;
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
• nested requirement ‘DispatchHasStatic<typename T::FunctionType>(T::targets())’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:234:12:
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = bool; uint8_t = unsigned char]’:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:54:71:
54 | template void unpack<bool>(const uint8_t*, bool*, const UnpackOptions&);
| ^
• set ‘-fconcepts-diagnostics-depth=’ to at least 2 for more detail
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = unsigned char; uint8_t = unsigned char]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:55:77: required from here
55 | template void unpack<uint8_t>(const uint8_t*, uint8_t*, const UnpackOptions&);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: error: template constraint failure for ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch’
50 | static const DynamicDispatch<UnpackDynamicFunction<Uint>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: note: constraints not satisfied
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h: In substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::internal::{anonymous}::UnpackDynamicFunction<unsigned char>]’:
• required from ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = unsigned char; uint8_t = unsigned char]’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:55:77:
55 | template void unpack<uint8_t>(const uint8_t*, uint8_t*, const UnpackOptions&);
| ^
• required for the satisfaction of ‘DynamicDispatchSpec<DynamicFunction>’ [with DynamicFunction = arrow::internal::<unnamed>::UnpackDynamicFunction<unsigned char>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:9:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~~~~~~~~~~
• in requirements [with T = arrow::internal::<unnamed>::UnpackDynamicFunction<unsigned char>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:31:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~
230 | typename T::FunctionType;
| ~~~~~~~~~~~~~~~~~~~~~~~~~
231 |
|
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 | requires T::targets().size() > 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | };
| ~
• the required expression ‘T::targets()’ is invalid
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15:
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
• nested requirement ‘(T::targets().size() > 0)’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:233:12:
233 | requires T::targets().size() > 0;
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
• nested requirement ‘DispatchHasStatic<typename T::FunctionType>(T::targets())’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:234:12:
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = short unsigned int; uint8_t = unsigned char]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:56:79: required from here
56 | template void unpack<uint16_t>(const uint8_t*, uint16_t*, const UnpackOptions&);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: error: template constraint failure for ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch’
50 | static const DynamicDispatch<UnpackDynamicFunction<Uint>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: note: constraints not satisfied
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h: In substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::internal::{anonymous}::UnpackDynamicFunction<short unsigned int>]’:
• required from ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = short unsigned int; uint8_t = unsigned char]’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:56:79:
56 | template void unpack<uint16_t>(const uint8_t*, uint16_t*, const UnpackOptions&);
| ^
• required for the satisfaction of ‘DynamicDispatchSpec<DynamicFunction>’ [with DynamicFunction = arrow::internal::<unnamed>::UnpackDynamicFunction<short unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:9:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~~~~~~~~~~
• in requirements [with T = arrow::internal::<unnamed>::UnpackDynamicFunction<short unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:31:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~
230 | typename T::FunctionType;
| ~~~~~~~~~~~~~~~~~~~~~~~~~
231 |
|
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 | requires T::targets().size() > 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | };
| ~
• the required expression ‘T::targets()’ is invalid
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15:
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
• nested requirement ‘(T::targets().size() > 0)’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:233:12:
233 | requires T::targets().size() > 0;
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
• nested requirement ‘DispatchHasStatic<typename T::FunctionType>(T::targets())’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:234:12:
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = unsigned int; uint8_t = unsigned char]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:57:79: required from here
57 | template void unpack<uint32_t>(const uint8_t*, uint32_t*, const UnpackOptions&);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: error: template constraint failure for ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch’
50 | static const DynamicDispatch<UnpackDynamicFunction<Uint>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: note: constraints not satisfied
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h: In substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::internal::{anonymous}::UnpackDynamicFunction<unsigned int>]’:
• required from ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = unsigned int; uint8_t = unsigned char]’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:57:79:
57 | template void unpack<uint32_t>(const uint8_t*, uint32_t*, const UnpackOptions&);
| ^
• required for the satisfaction of ‘DynamicDispatchSpec<DynamicFunction>’ [with DynamicFunction = arrow::internal::<unnamed>::UnpackDynamicFunction<unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:9:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~~~~~~~~~~
• in requirements [with T = arrow::internal::<unnamed>::UnpackDynamicFunction<unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:31:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~
230 | typename T::FunctionType;
| ~~~~~~~~~~~~~~~~~~~~~~~~~
231 |
|
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 | requires T::targets().size() > 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | };
| ~
• the required expression ‘T::targets()’ is invalid
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15:
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
• nested requirement ‘(T::targets().size() > 0)’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:233:12:
233 | requires T::targets().size() > 0;
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
• nested requirement ‘DispatchHasStatic<typename T::FunctionType>(T::targets())’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:234:12:
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc: In instantiation of ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = long unsigned int; uint8_t = unsigned char]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:58:79: required from here
58 | template void unpack<uint64_t>(const uint8_t*, uint64_t*, const UnpackOptions&);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: error: template constraint failure for ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch’
50 | static const DynamicDispatch<UnpackDynamicFunction<Uint>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61: note: constraints not satisfied
• /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h: In substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::internal::{anonymous}::UnpackDynamicFunction<long unsigned int>]’:
• required from ‘void arrow::internal::unpack(const uint8_t*, Uint*, const UnpackOptions&) [with Uint = long unsigned int; uint8_t = unsigned char]’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:50:61:
• required from here
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/bpacking.cc:58:79:
58 | template void unpack<uint64_t>(const uint8_t*, uint64_t*, const UnpackOptions&);
| ^
• required for the satisfaction of ‘DynamicDispatchSpec<DynamicFunction>’ [with DynamicFunction = arrow::internal::<unnamed>::UnpackDynamicFunction<long unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:9:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~~~~~~~~~~
• in requirements [with T = arrow::internal::<unnamed>::UnpackDynamicFunction<long unsigned int>]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:229:31:
229 | concept DynamicDispatchSpec = requires {
| ^~~~~~~~~~
230 | typename T::FunctionType;
| ~~~~~~~~~~~~~~~~~~~~~~~~~
231 |
|
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 | requires T::targets().size() > 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235 | };
| ~
• the required expression ‘T::targets()’ is invalid
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15:
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
• nested requirement ‘(T::targets().size() > 0)’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:233:12:
233 | requires T::targets().size() > 0;
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
• nested requirement ‘DispatchHasStatic<typename T::FunctionType>(T::targets())’ is not satisfied
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:234:12:
234 | requires DispatchHasStatic<typename T::FunctionType>(T::targets());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FAILED: [code=1] src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o
/usr/bin/c++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_WITH_TIMING_TESTS -DGFLAGS_IS_A_DLL=0 -DGLOG_USE_GFLAGS -DGLOG_USE_GLOG_EXPORT -DURI_STATIC_BUILD -I/build/arrow/src/build/src -I/build/arrow/src/apache-arrow-25.0.0/cpp/src -Wredundant-move -Wno-noexcept-type -Wno-self-move -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/arrow/src=/usr/src/debug/arrow -flto=auto -fdiagnostics-color=always -Wall -Wno-conversion -Wno-sign-conversion -Wdate-time -Wimplicit-fallthrough -Wunused-result -fno-semantic-interposition -O2 -g -DNDEBUG -ftree-vectorize -ggdb -std=c++20 -fPIC -MD -MT src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o -MF src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o.d -o src/arrow/CMakeFiles/arrow_util.dir/util/byte_stream_split_internal.cc.o -c /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc
In file included from /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:18:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitDecodeSimd(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 2; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:46:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitDecodeDynamic<kNumStreams>::targets() [with int kNumStreams = 2]’
46 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitDecodeDynamic<2>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:53:75: required from ‘void arrow::util::internal::ByteStreamSplitDecodeSimdDispatch(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with int kNumStreams = 2; uint8_t = unsigned char; int64_t = long int]’
53 | static const DynamicDispatch<ByteStreamSplitDecodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:58:60: required from here
58 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:56:28: error: static assertion failed: The smallest SIMD size is 128 bits
56 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:66:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
66 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(2 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitDecodeSimd(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:46:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitDecodeDynamic<kNumStreams>::targets() [with int kNumStreams = 4]’
46 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitDecodeDynamic<4>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:53:75: required from ‘void arrow::util::internal::ByteStreamSplitDecodeSimdDispatch(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’
53 | static const DynamicDispatch<ByteStreamSplitDecodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:60:60: required from here
60 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:56:28: error: static assertion failed: The smallest SIMD size is 128 bits
56 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:66:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
66 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(4 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitDecodeSimd(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 8; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:46:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitDecodeDynamic<kNumStreams>::targets() [with int kNumStreams = 8]’
46 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitDecodeDynamic<8>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:53:75: required from ‘void arrow::util::internal::ByteStreamSplitDecodeSimdDispatch(const uint8_t*, int, int64_t, int64_t, uint8_t*) [with int kNumStreams = 8; uint8_t = unsigned char; int64_t = long int]’
53 | static const DynamicDispatch<ByteStreamSplitDecodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:62:60: required from here
62 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:56:28: error: static assertion failed: The smallest SIMD size is 128 bits
56 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:66:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
66 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(8 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitEncodeSimd(const uint8_t*, int, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 2; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:80:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitEncodeDynamic<kNumStreams>::targets() [with int kNumStreams = 2]’
80 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitEncodeDynamic<2>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:88:75: required from ‘void arrow::util::internal::ByteStreamSplitEncodeSimdDispatch(const uint8_t*, int, int64_t, uint8_t*) [with int kNumStreams = 2; uint8_t = unsigned char; int64_t = long int]’
88 | static const DynamicDispatch<ByteStreamSplitEncodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:93:60: required from here
93 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:178:28: error: static assertion failed: The smallest SIMD size is 128 bits
178 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:189:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
189 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(2 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:215:35: error: static assertion failed
215 | static_assert(kNumValuesInBatch > 0);
| ~~~~~~~~~~~~~~~~~~^~~
• the comparison reduces to ‘(0 > 0)’
In file included from /build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:21:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:221:44: in ‘constexpr’ expansion of ‘arrow::internal::ReversePow2<int>(((int)kNumValuesInBatch))’
221 | constexpr int kNumStepsByte = ReversePow2(kNumValuesInBatch) + 1;
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
66 | for (T n = 0, y = 1; n <= (kByteLen * static_cast<T>(sizeof(T))); ++n, y = y * 2) {
| ~~^~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:223:75: error: division by zero is not a constant expression
223 | constexpr int kNumStepsLarge = ReversePow2(static_cast<int>(kBatchSize) / kNumBytes);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:226:27: error: non-constant condition for static assertion
226 | static_assert(kNumSteps == ReversePow2(kBatchSize));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:232:32: error: size of array is not an integral constant-expression
232 | simd_batch stage[kNumSteps + 1][kNumStreams];
| ~~~~~~~~~~^~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitEncodeSimd(const uint8_t*, int, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:80:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitEncodeDynamic<kNumStreams>::targets() [with int kNumStreams = 4]’
80 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitEncodeDynamic<4>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:88:75: required from ‘void arrow::util::internal::ByteStreamSplitEncodeSimdDispatch(const uint8_t*, int, int64_t, uint8_t*) [with int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’
88 | static const DynamicDispatch<ByteStreamSplitEncodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:95:60: required from here
95 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:178:28: error: static assertion failed: The smallest SIMD size is 128 bits
178 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:189:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
189 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(4 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:215:35: error: static assertion failed
215 | static_assert(kNumValuesInBatch > 0);
| ~~~~~~~~~~~~~~~~~~^~~
• the comparison reduces to ‘(0 > 0)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:221:44: in ‘constexpr’ expansion of ‘arrow::internal::ReversePow2<int>(((int)kNumValuesInBatch))’
221 | constexpr int kNumStepsByte = ReversePow2(kNumValuesInBatch) + 1;
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
66 | for (T n = 0, y = 1; n <= (kByteLen * static_cast<T>(sizeof(T))); ++n, y = y * 2) {
| ~~^~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:223:75: error: division by zero is not a constant expression
223 | constexpr int kNumStepsLarge = ReversePow2(static_cast<int>(kBatchSize) / kNumBytes);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:226:27: error: non-constant condition for static assertion
226 | static_assert(kNumSteps == ReversePow2(kBatchSize));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:232:32: error: size of array is not an integral constant-expression
232 | simd_batch stage[kNumSteps + 1][kNumStreams];
| ~~~~~~~~~~^~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘void arrow::util::internal::ByteStreamSplitEncodeSimd(const uint8_t*, int, int64_t, uint8_t*) [with Arch = xsimd::sse4_2; int kNumStreams = 8; uint8_t = unsigned char; int64_t = long int]’:
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:80:5: required from ‘static constexpr auto arrow::util::internal::ByteStreamSplitEncodeDynamic<kNumStreams>::targets() [with int kNumStreams = 8]’
80 | };
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/dispatch_internal.h:232:15: required by substitution of ‘template<class DynamicFunction> requires DynamicDispatchSpec<DynamicFunction> class arrow::internal::DynamicDispatch [with DynamicFunction = arrow::util::internal::ByteStreamSplitEncodeDynamic<8>]’
232 | { T::targets() } -> DynamicDispatchTargets<typename T::FunctionType>;
| ~~~~~~~~~~^~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:88:75: required from ‘void arrow::util::internal::ByteStreamSplitEncodeSimdDispatch(const uint8_t*, int, int64_t, uint8_t*) [with int kNumStreams = 8; uint8_t = unsigned char; int64_t = long int]’
88 | static const DynamicDispatch<ByteStreamSplitEncodeDynamic<kNumStreams>> dispatch;
| ^~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.cc:97:60: required from here
97 | uint8_t*);
| ^
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:178:28: error: static assertion failed: The smallest SIMD size is 128 bits
178 | static_assert(kBatchSize >= 16, "The smallest SIMD size is 128 bits");
| ~~~~~~~~~~~^~~~~
• the comparison reduces to ‘(1 >= 16)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:189:29: error: static assertion failed: The algorithm works when the number of streams is smaller than the SIMD batch size.
189 | static_assert(kNumStreams <= kBatchSize,
| ~~~~~~~~~~~~^~~~~~~~~~~~~
• the comparison reduces to ‘(8 <= 1)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:215:35: error: static assertion failed
215 | static_assert(kNumValuesInBatch > 0);
| ~~~~~~~~~~~~~~~~~~^~~
• the comparison reduces to ‘(0 > 0)’
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:221:44: in ‘constexpr’ expansion of ‘arrow::internal::ReversePow2<int>(((int)kNumValuesInBatch))’
221 | constexpr int kNumStepsByte = ReversePow2(kNumValuesInBatch) + 1;
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
66 | for (T n = 0, y = 1; n <= (kByteLen * static_cast<T>(sizeof(T))); ++n, y = y * 2) {
| ~~^~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/math_internal.h:66:80: error: overflow in constant expression [-fpermissive]
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:223:75: error: division by zero is not a constant expression
223 | constexpr int kNumStepsLarge = ReversePow2(static_cast<int>(kBatchSize) / kNumBytes);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:226:27: error: non-constant condition for static assertion
226 | static_assert(kNumSteps == ReversePow2(kBatchSize));
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/build/arrow/src/apache-arrow-25.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:232:32: error: size of array is not an integral constant-expression
232 | simd_batch stage[kNumSteps + 1][kNumStreams];
| ~~~~~~~~~~^~~
Describe the bug, including details regarding any error messages, version, and platform.
I tried to build the 25.0.0 release on Arch Linux but it failed with these errors:
Component(s)
C++