Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-9744

[Python] Failed to install on aarch64

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.17.1
    • 2.0.0
    • Python

    Description

      My team is attempting to migrate some workloads from x86-64 to ARM64, a blocker for this is PyArrow failing to install. `pip install pyarrow` fails to build the wheel as -march isn't correctly resolved:

       -- System processor: aarch64
       -- Performing Test CXX_SUPPORTS_ARMV8_ARCH
       -- Performing Test CXX_SUPPORTS_ARMV8_ARCH - Failed
       -- Arrow build warning level: PRODUCTION
       CMake Error at cmake_modules/SetupCxxFlags.cmake:338 (message):
       Unsupported arch flag: -march=.
      

      It's possible to get the build to work after editing `cmake_modules/SetupCxxFlags.cmake` to force ARROW_ARMV8_ARCH_FLAG to end up as an architecture such as 'armv8-a' - although some more elaborate logic is really needed to pick up the correct extensions.

      I can see that there  have been a number of items discussed in the past both on Jira and in GitHub issues ranging from simple fixes to the cmake script to more elaborate fixes cross-product for arch detection - but I wasn't able to discern how the project wishes to proceed.

      With AWS pushing their ARM-based instances heavily at this point I would advocate for picking a direction before an influx of new issues.

       

      Attachments

        1. cmake-info.txt
          42 kB
          Matthew Meen
        2. pyarrow_017.txt
          45 kB
          Matthew Meen

        Issue Links

          Activity

            People

              kou Kouhei Sutou
              mmeen Matthew Meen
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m