-
Notifications
You must be signed in to change notification settings - Fork 32
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
Added meson build system files #260
Conversation
Now building on my macbook and on ubuntu vm, but not in CI... Lovely. |
Seems to build fine apart from on py3.8 on linux cauisng the rest to get canclled. |
At this time we should also reconsider the version pinning for the various dependencies. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #260 +/- ##
==========================================
- Coverage 43.56% 37.72% -5.85%
==========================================
Files 34 29 -5
Lines 11036 10079 -957
==========================================
- Hits 4808 3802 -1006
- Misses 6228 6277 +49 ☔ View full report in Codecov by Sentry. |
Our broken builds on ubuntu actually seem to be from a broken scipy dependency build. |
I have asked Ted and Giannis to test this branch builds successfully on their machines (NERSC and Princeton respectively) with python 3.12 before we merge. Potentially unrelated: the tests make over 10'000 warnings. We should look into those. |
Builds are good to go. Only reason for test failures is codecov saying no. |
Yes, they are used (very rarely) to generate data for comparisons in tests |
Do we want to support editable installations? If I install using "pip install -e ." after cloning, I get
Works fine with a regular install. |
We do, you just need to do |
I get
pip 24.1.1 on python 3.12 |
Oh, sorry, you need to swap those two flags, oops! |
Ok, I now get
full traceback
but
|
Sorry, I forgot that you need to install the build dependencies separately in that case. I have remedied that in the docs:
I don't know why pip doesn't do this automatically. |
Ok, that works. This looks good to go to me. |
Fix numpy 2.0 errors
Very impressed with this new build system! Maybe this was possible before, but I noticed in Github Actions that you can actually download the wheels that would be uploaded to PyPI and test them out on various systems before merging the PR. (e.g. the manylinux py3.12 wheel works on my laptop). We could (optionally) send the mac arm64 wheel to someone with a recent Mac to test it out, before merging this. How does versioning work with these changes? In the past, PyPI uploads were triggered with new versions. |
The wheels are tested during build time; they are installed and the test suite is ran using them. That's true for all systems: manylinux, macos-arm, macos-x86. Versioning works as with the prior system where you must create a git tag and this then leads to a bump in the version. I note that the currently 'bumped' version of 0.25.0 by |
Hello @JBorrow, this compiles and installs on Della. On Tiger it fails with:
and on my MacBook pro with the latest MacOS (14.5) with:
I'll try to see what is going on on Tiger and get back to you. For my laptop it might be a bit more complicated as OpenMP is not supported I think at all. |
Based on @JBorrow suggestion to use Homebrew compilers on Mac:
|
Initial version of the meson build system.
A few outstanding items: