lahwaacz opened a new issue, #50542:
URL: https://github.com/apache/arrow/issues/50542
### 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:
```
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.di
r/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/CMakeF
iles/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];
| ~~~~~~~~~~^~~
```
### Component(s)
C++
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]