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

Pre-built wheels for Linux on ARM? #1215

Closed
sindre-nistad opened this issue Sep 4, 2024 · 7 comments
Closed

Pre-built wheels for Linux on ARM? #1215

sindre-nistad opened this issue Sep 4, 2024 · 7 comments

Comments

@sindre-nistad
Copy link

Would it be possible to distribute pre-built wheels for linux-aarch64 on PyPi?

My use-case is using JPype1 (through JayDeBeApi) on a docker container running on Apple Silicon.
Currently, we compile JPype1 from source while building the container, which takes a little while in addition to installing the necessary compiler and libraries.

On a slight side-note; thank you very much for this library 😊
It has / is very useful when I have to interact with some vendor-provided Java programs / libraries.

@Thrameos
Copy link
Contributor

Thrameos commented Sep 4, 2024

We use the .azure scripts to build all the architectures that we currently distribute. Assuming you can find a recipe to create such a build using the Microsoft Azure cloud, I can add it to the distribution. I would guess that adding another OSX job as found in release.yml (line 144) with a different image/python.architecture file should produce the additional images. We also had a pattern for producing docker based distributions in the past though that was with a previous cloud. I am not sure if we have been successful on azure.

If you want to work on that I believe that you just need to fork the repo, open a azure cloud account, then trigger the release pipeline on your fork. Unfortunately, due to other time commitments I can't work on this myself, but would be happy to accept a contribution if others can work out the pattern. It has been an ongoing problem in which either the Python arch or the Java arch fail to match. I know it is possible to build and run assuming both are matching and thus we can distribute it.

Here is what limited research that I found relevant to the topic:

I have previous found lists of the available vmImages. We are using osx-11 which as far as I am aware is a x64 image.

https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml

It appears that there should be a pool of machines for arm64 released in 2023, though I am not sure how to specify the target.

Azure/azure-dev#1314

There are some posts indicating that as of a year ago Python compilations against arm64 did not work on Azure. But I haven't the time to follow through to see if that condition has changed. This would need to be resolved before a successful build is possible.

https://stackoverflow.com/questions/75988713/microsoft-azure-webjobs-script-architecture-arm64-is-not-supported-for-language

@sindre-nistad
Copy link
Author

Thanks,
I'll look into it. I have experience working with Azure

@marscher
Copy link
Member

marscher commented Nov 5, 2024

#910 something seems to be broken.

@marscher
Copy link
Member

marscher commented Nov 5, 2024

@sindre-nistad did you have the chance to take a look and point us toward a solution? Thanks

@sindre-nistad
Copy link
Author

sindre-nistad commented Nov 11, 2024

@sindre-nistad did you have the chance to take a look and point us toward a solution? Thanks

Unfortunately, I haven't :(
Though, hopefully I will have time to look at it in the near future

@marscher
Copy link
Member

I think we have it almost solved in #1234

@marscher
Copy link
Member

The aarch64 users should be happy now with version 1.5.1. Please check it out.

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

3 participants