-
Notifications
You must be signed in to change notification settings - Fork 4k
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.
Environment: AWS m6g (ARM64 'Graviton2' CPU):
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
OS: Linux version 5.3.0-1032-aws (buildd@bos02-arm64-053) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu118.04)) #3418.04.2-Ubuntu SMP Fri Jul 24 10:03:03 UTC 2020
Reporter: Matthew Meen
Assignee: Kouhei Sutou / @kou
Original Issue Attachments:
PRs and other links:
Note: This issue was originally created as ARROW-9744. Please see the migration documentation for further details.