Skip to content

[Python] Failed to install on aarch64 #25796

@asfimport

Description

@asfimport

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions