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]


Reply via email to