Skip to content

Commit

Permalink
DOC: Document macOS 3.8 arm64 workaround (pypa#1871)
Browse files Browse the repository at this point in the history
* BUG: Fix bug with macOS 3.8 arm64 URL

* TST: Ping

* DOC: Update

* FIX: Remove old

* DOC: Both

* Apply suggestions from code review

Co-authored-by: Matthieu Darbois <[email protected]>

---------

Co-authored-by: Matthieu Darbois <[email protected]>
  • Loading branch information
2 people authored and MusicalNinjaDad committed Jul 3, 2024
1 parent 9e20adc commit d941716
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,16 +363,25 @@ If you're building on an arm64 runner, you might notice something strange about

This is fine for simple C extensions, but for more complicated builds on arm64 it becomes an issue.

So, if the cross-compilation is an issue for you, there is an 'experimental' installer available that's built natively for arm64.
So, if you want to build macOS arm64 wheels on an arm64 runner (e.g., `macos-14`) on Python 3.8, before invoking cibuildwheel, you should install a native arm64 Python 3.8 interpreter on the runner:

To use this installer and perform native CPython 3.8 building, before invoking cibuildwheel, install the universal2 version of Python on your arm64 runner, something like:

!!! tab "GitHub Actions"

```bash
curl -o /tmp/Python38.pkg https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg
sudo installer -pkg /tmp/Python38.pkg -target /
sh "/Applications/Python 3.8/Install Certificates.command"
```
```yaml
- uses: actions/setup-python@v5
with:
python-version: 3.8
if: runner.os == 'macOS' && runner.arch == 'ARM64'
```

!!! tab "Generic"

```bash
curl -o /tmp/Python38.pkg https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg
sudo installer -pkg /tmp/Python38.pkg -target /
sh "/Applications/Python 3.8/Install Certificates.command"
```

Then cibuildwheel will detect that it's installed and use it instead. However, you probably don't want to build x86_64 wheels on this Python, unless you're happy with them only supporting macOS 11+.

Expand Down

0 comments on commit d941716

Please sign in to comment.