Uploaded image for project: 'AI Platform Core Components'
  1. AI Platform Core Components
  2. AIPCC-3653

pyarrow 21.0.0 fails to build with xsimd 9.0.1

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • Development Platform
    • False
    • Hide

      None

      Show
      None
    • False

      PyArrow 21 came out a few hours ago. It is failing to build from source. The error message suggests that our xsimd version is too old. RHELAI 1.5 and 3.0 repos haev 9.0.1 from EPEL. Fedora and EPEL 10 have 13.0.0.

      In file included from /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/parquet/decoder.cc:42:
      /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h: In instantiation of ‘Batch arrow::util::internal::zip_lo_n(const Batch&, const Batch&) [with int kNumBytes = 8; int kBatchSize = 16; Batch = xsimd::batch<signed char, xsimd::neon64>]’:
      /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:239:32:   required from ‘void arrow::util::internal::ByteStreamSplitEncodeSimd128(const uint8_t*, int, int64_t, uint8_t*) [with int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’
      /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:444:51:   required from ‘void arrow::util::internal::ByteStreamSplitEncodeSimd(const uint8_t*, int, int64_t, uint8_t*) [with int kNumStreams = 4; uint8_t = unsigned char; int64_t = long int]’
      /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:601:49:   required from here
      /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:126:22: error: no matching function for call to ‘zip_lo(long int, long int)’
        126 |         xsimd::zip_lo(xsimd::bitwise_cast<SizedInt<kNumBytes>>(a),
            |         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        127 |                       xsimd::bitwise_cast<SizedInt<kNumBytes>>(b)));
            |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/xsimd/xsimd.hpp:66,
                       from /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/arrow/util/byte_stream_split_internal.h:33,
                       from /mnt/work-dir/pyarrow-21.0.0/pyarrow-21.0.0/cpp/src/parquet/decoder.cc:42:
      /usr/include/xsimd/types/xsimd_api.hpp:2171:24: note: candidate: ‘template<class T, class A> xsimd::batch<T, A> xsimd::zip_lo(const xsimd::batch<T, A>&, const xsimd::batch<T, A>&)’
       2171 |     inline batch<T, A> zip_lo(batch<T, A> const& x, batch<T, A> const& y) noexcept
            |                        ^~~~~~
      /usr/include/xsimd/types/xsimd_api.hpp:2171:24: note:   template argument deduction/substitution failed:

      I'm going to pin PyArrorw < 21 and then update xsimd in RHELAI 3.0 repos.

              cheimes@redhat.com Christian Heimes
              cheimes@redhat.com Christian Heimes
              Christian Heimes
              Antonio's Team
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: