-
Notifications
You must be signed in to change notification settings - Fork 179
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
[all] Support for M1 builds #808
Comments
Yeah sorry we don't have M1 builds yet. The easiest thing to do is use x64 python via rosetta for development. We hope to have M1 builds available soon. |
@mantissaman
The last step builds OSO locally and installs it in the active python environment by creating After that, I was able to import and use OSO. Note that I needed OSO only, not flask or sqlalchemy libs, but you should be able to install those manually once you have OSO core installed.
I hope this helps. |
@delicb - Many thanks. It worked like a charm. |
Unable to develop with Go; either the linker fails or if I try forcing the architecture I see...
|
Hey @rcrowe. We aren't set up to build arm64 yet but you can build it yourself with a couple extra steps.
With
|
Thanks @saolsen that worked locally 🙇🏻 What would need to happen in order to support this within the various languages?
|
We are planning to include builds for arm in the official release, we just haven't gotten to it yet. The way you would have to build it yourself is a little bit different for every language. |
Leaving a comment to indicate demand on this feature. Currently we have to support two separate paths to deploy a project :) |
We might be able to take some inspiration from rust-lang/rust#75991. |
Is there a planned release date for a version with ARM wheels? |
We're planning to include a macOS ARM wheel for our python library in our release next week. Other languages will be a bit later but hopefully not too much longer. |
Awesome! Thanks. Will that include Linux ARM as well? I’m using the Python library inside docker on an M1. |
A linux ARM would be great- basically something that can run in the official Python ARM64 containers. |
For anyone else who needs it I'm building docker containers with ARM support here. |
And in further good news, the automation I set up to keep the containers up to date picked up the new release and automatically built new containers. |
An update here! |
Just a note on this: The lack of So, for others - if you see the error below, that's why:
|
@jlk- AWS Lambda supports using images instead of zip files to launch. As a work around you can use the multi-py oso image as the base for your lambda. |
The Java version of oso also seems to have an M1 related issue. When running with a JRA built for aarch64 I'm getting the following error:
Running the same built .jar with a non-aarch64 JRE works, though with a big performance penalty. Apart from that, when looking into the issue I also stumbled upon jnr/jnr-ffi#257, which might be a hurdle for M1 support (but should by now be easily fixable by updating the dependency). EDIT: Can confirm that bumping the jnr dependency fixes the problem |
@saolsen we've built |
Hey @chrichts, do you mean you were able to do a manual local build for Go or that you've set up a GitHub Actions workflow to build it (the same way the rest of our libs are built)? |
We're doing a manual local build. Its fine and it works, but everytime we update oso we need to rerun it so would be much more helpful having it included. But I see now it looks like you're building it here: https://github.com/osohq/oso/blob/main/.github/workflows/release.yml. Can I open a PR to add support for |
I manage to fix our local build using this: Dockerfile:
Run Command:
|
While trying to run OSO Python sample app or trying to install oso (pip install oso) on Apple M1 architecture I am getting following error:
(venv) ➜ oso-python-quickstart git:(main) pip install -r requirements.txt
ERROR: Could not find a version that satisfies the requirement oso
ERROR: No matching distribution found for oso
The text was updated successfully, but these errors were encountered: