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

PyPI Wheels for ARM64 Macs? #81

Open
nightlark opened this issue Jan 12, 2024 · 6 comments
Open

PyPI Wheels for ARM64 Macs? #81

nightlark opened this issue Jan 12, 2024 · 6 comments

Comments

@nightlark
Copy link

Recently we were trying to install ubidump on the "new" ARM-based Macs; however, it failed to install due to python-lzo not providing a pre-built binary wheel for macOS, and the source tarball was giving a build error.

I noticed that you have a CI job that was added ~8 months ago that uses cibuildwheel to build a bunch of wheels, including for arm64 macosx -- is there an estimate for when a new release will be made that includes those wheels? Are there any things that need to be done first, that you could use some help with?

@jd-boyd
Copy link
Owner

jd-boyd commented Jan 12, 2024

I will enable the automated tests running on Mac OS arm, and then we will see from there.

@jd-boyd
Copy link
Owner

jd-boyd commented Jan 13, 2024

I have tagged v1.16, and am seeing how the workflows related to that go. While the workflows were put in place for 1.15, I don't think I used the workflows for making the release, so it is still new to me.

@jd-boyd
Copy link
Owner

jd-boyd commented Jan 13, 2024

And it looks like that workflow has issues: https://github.com/jd-boyd/python-lzo/actions/runs/7509707331

@AT0myks
Copy link
Contributor

AT0myks commented Jan 14, 2024

@nightlark while waiting for the next release you can install wheels from TestPyPI.

@jd-boyd The workflow issues are related to e3fe6ff. It's trying to link to the lzo2 system lib but it's not installed. As you can see here there was no issue with the workflows before, even with older Python versions. I think the previous approach where the library is bundled in the wheel is better than linking to it. This way there's no problem when a distribution's lzo package has an incompatible version. Maybe we could add another environment variable like USE_SYSTEM_LZO to give the option of linking to the system's library.

And, as I said in #75 there are a few changes to make (here and on PyPI) before the wheels can be uploaded successfully, because right now it will still try to upload to TestPyPI (it's the reason this run failed). By the way, since this PR was merged there is no need for the other 3 workflows anymore.

Also, b85c6e5 won't work because arm64 wheels can be built on x86_64 but not tested, and I don't think GitHub Actions has free arm64 macOS runners.

@kgantchev
Copy link

Hi @AT0myks, I'm Kiril Gantchev, the CEO and co-founder of FlyCI. You can also try the FlyCI's M1 and M2 runners for your GitHub workflows.

Our runners are on average of about 2x faster and 2x cheaper than GitHub's. We also have a free tier of 500 mins/month of M1 usage.

Easily replace your M1 runners:

jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

Exclusive M2 runners:

jobs:
  ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m2
    steps:
      - name: 👀 Checkout repo
        uses: actions/checkout@v4

We'll be happy to have you on board. Our team is always there to help should you have any issues.

@AT0myks
Copy link
Contributor

AT0myks commented Jan 17, 2024

I'll wait for GitHub to provide their free runners. Cross-compilation is enough for now.

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

4 participants