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

Fix python3.12 build #217

Merged
merged 5 commits into from
Mar 11, 2024
Merged

Fix python3.12 build #217

merged 5 commits into from
Mar 11, 2024

Conversation

gmloose
Copy link
Collaborator

@gmloose gmloose commented Mar 11, 2024

The PR fixes the build for Python 3.12.

Fixes #214.

Library `_pytesselate.cpython-312-x86_64-linux-gnu.so` gets build, but symbol `_npy_f2py_ARRAY_API` is missing.
By changing the order of the Fortran input files (the header file last),
sources are now recognized and built correctly again.
We need to start every "before-build" with an empty install directory,
otherwise the repaired wheel will contain the wrong boost libraries.
(It looks like `CMake` gets confused and picks the first matching
`libboost_python*` and `libboost_numpy*` library files, which may be
from a previous build.)
Created a separate cleanup function in `cibuildwheel/before_build.sh` to make it more visible what's happening.
@gmloose gmloose requested a review from darafferty March 11, 2024 10:38
@gmloose gmloose self-assigned this Mar 11, 2024
Copy link
Collaborator

@darafferty darafferty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@gmloose gmloose merged commit 7efbc18 into master Mar 11, 2024
2 checks passed
@gmloose gmloose deleted the fix-python3.12-build branch April 15, 2024 15:40
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.

Python 3.12 compatibility
2 participants