Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross compilation yields x86-64 wheel #1722

Open
m8dotpie opened this issue Jan 15, 2024 · 1 comment
Open

Cross compilation yields x86-64 wheel #1722

m8dotpie opened this issue Jan 15, 2024 · 1 comment

Comments

@m8dotpie
Copy link

m8dotpie commented Jan 15, 2024

Description

We are trying to compile wheel for casadi wrapped with cmeel, but with aarch64 support. To avoid using arm machine as well as emulation (which I was unable to correctly enable in current cmeel setup), we decided to move for dockcross/manylinux2014-aarch64. The problem is cibuildwheel correctly detects target architecture and, as can be seen in the logs, tells starts building cp310-manylinux_aarch64 wheel. However, resulting wheel is still for x86_64

Build log

https://pastebin.com/rhfTC9qv

CI config

https://github.com/m8dotpie/cmeel-casadi/blob/aarch64/.github/workflows/build_aarch64.yml

@henryiii
Copy link
Contributor

henryiii commented Jan 15, 2024

There has been a lot of talk about supporting this (see our issues); the biggest issue is not actually related to the build backend, but the compilers: no one uses the native compilers for manylinux, but always the RHEL-patched modern compilers. These are especially important on special architectures. NumPy actually did a lot of work to push for a newer manylinux image, then found they couldn't even use that since they required a newer compiler on ARM due to bugfixes.

Given the attempts to do this usually hitting this wall then failing, we haven't pushed it through yet.

FYI, scikit-build-core hasn't had any issues with emulation AFAIK. I've heard py-build-cmake is good at cross compiling, but I don't think anyone has figured out a way around the issue I've pointed out above, other than using another language (Rust). I heard the Zig compiler might be a working solution, but haven't tried it yet.

FYI, https://scikit-build-core.readthedocs.io/en/latest/#other-projects-for-building covers some of the known backends.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants