Skip to content

Python 3.11 wheel for Macos#72

Draft
fbrausse wants to merge 30 commits into
masterfrom
smlp_python311_mac
Draft

Python 3.11 wheel for Macos#72
fbrausse wants to merge 30 commits into
masterfrom
smlp_python311_mac

Conversation

@fbrausse

Copy link
Copy Markdown
Collaborator

This branch has successfully been tested by @konstantin-korovin. In this PR we should figure out how to merge it with the existing infrastructure for building Linux wheels.

Some differences between both, as I recall:

  • Use delocate instead of auditwheel (the former requires special handling of libpython3.11.so), see below.
  • The setup.py script does not incorporate recent changes such as to meson/ninja, yet, but does handle the Z3 dependency differently(?).
  • This PR removes explicitly setting the matplotlib backend as per Switch matplotlib backend based on OS #66.

mdmitry1 and others added 30 commits March 6, 2026 15:17
@fbrausse fbrausse marked this pull request as draft March 23, 2026 15:04
@fbrausse fbrausse assigned fbrausse and unassigned fbrausse Mar 23, 2026
This was referenced Mar 23, 2026
@fbrausse fbrausse linked an issue Apr 1, 2026 that may be closed by this pull request
@fbrausse fbrausse mentioned this pull request Apr 7, 2026
13 tasks
@mdmitry1 mdmitry1 added release Confirmed to be release related optional and removed release Confirmed to be release related optional labels May 6, 2026
@konstantin-korovin

Copy link
Copy Markdown
Collaborator

What is the status of this PR ?
it would be good to have so I can build the wheel on MacOS.

@fbrausse

Copy link
Copy Markdown
Collaborator Author

Nothing new, yet.

@konstantin-korovin

konstantin-korovin commented May 16, 2026

Copy link
Copy Markdown
Collaborator

How much left to close it ?
Is it feasible to finish it before the release, if not how shall we build Mac wheel ?

@fbrausse

Copy link
Copy Markdown
Collaborator Author

How much left to close it ? Is it feasible to finish it before the release,

Not feasible until tomorrow: I can't test things easily here on Github. I tried, this is the last "working" run for MacOS: https://github.com/SMLP-Systems/smlp/actions/runs/25654818967 - as you can see, both Github runners failed; the only reason given was "The hosted runner lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error."

Likely, this is due to excessive runtime required for compiling GMP and Z3, which, technically, would not be necessary but I don't have a solution to storing our builds of those. And "our" builds are necessary due to Homebrew builds being customized to the machine the build is running on:

This is particularly an issue on macOS, where de facto package manager Homebrew will install libraries that are compiled for the specific version of macOS that the build machine is running, rendering the wheels useless for any previous version. And brew will not install the right arch for cross compilation of Apple Silicon wheels.

Source: https://cibuildwheel.pypa.io/en/v2.16.1/faq/#missing-dependencies

Also, we should ensure same compilers for our C++ deps as well as our C++ code (a nice "feature" of the language).

if not how shall we build Mac wheel ?

Same as before, I think. Just copy over the setup.py and the other script. If tutorial works, then difference in version of Z3 doesn't matter too much.

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

Successfully merging this pull request may close these issues.

merge MacOS branch (wheels) macos: Use @rpath for libraries bundled in wheel Switch matplotlib backend based on OS

3 participants