Support python 3.13 and oneAPI 2026.1 - #2086
Conversation
|
@eap perhaps also consider this request? |
92de0a2 to
7613be7
Compare
7613be7 to
ce28283
Compare
…ates # Conflicts: # configs/common/packages.yaml
ecFlow 5.18 configures its Python bindings with pybind11. Built against
pybind11 3.x, a bare "import ecflow" completes and then aborts during
garbage collection at interpreter teardown:
munmap_chunk(): invalid pointer -> SIGABRT, exit 134
The work itself succeeds, so this surfaces as scripts and CI steps failing
on exit status after doing their job; "uw --version" prints correctly and
then dies the same way.
The recipe carried this bound as py-pybind11@2.10.3:2 in spack-packages
b141387c8d, but bb52369c42 ("Fix for ecflow") dropped the upper bound. That
revert reached develop via spack-packages PR JCSDA#82 (spack-stack cd20203),
which is why this only appears after merging develop.
Verified on aws-ubuntu2404 with unified-dev/gcc-13.3.0: same ecflow 5.18.0
and python 3.13.13, only pybind11 differing -- 3.0.2 exits 134, 2.13.6
exits 0. Full 419-spec env rebuilds and concretizes clean with the bound.
|
This is ready for review. Edit: CI failures were due to known duplicate packages and are fixed. |
| - '@5.11.4' | ||
| - +ui | ||
| - '@5.18:' | ||
| - ^py-pybind11@:2 |
There was a problem hiding this comment.
Is this to avoid duplicates, or does the ecflow recipe potentially need to be updated?
There was a problem hiding this comment.
I need to update the ecflow recipe.
There was a problem hiding this comment.
Here's the fix. JCSDA/spack-packages#88
I'll revert this change in anticipation of the merge.
There was a problem hiding this comment.
This can be removed if you update spack-packages to the head of spack-stack-dev
There was a problem hiding this comment.
@eap Last request to remove this line 127, then it's good!
|
This now works end-to-end on intel and GCC, I was able to simplify a number of old |
|
@eap I will create a pull request against your branch later today or tomorrow with findings from my |
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
ec24a61 to
a80e7c5
Compare
|
Merge conflict for a80e7c5 |
|
@eap I created eap#2 which does the following:
Tested: built
Didn't run anything yet, but anything that comes up can be fixed later. Once that's merged, I'll approve. |
feature/python-updates: bug fixes for building neptune environments with oneapi and gcc
Update configs/common/packages.yaml: pin py-bind11 separately from ecflow
|
No more duplicate packages! Will approve once the CI tests finish. |
September 14, this is updated and ready for review
Apologies up-front for the weighty PR here. I've been working dilligently to get something that builds on the aws-ubuntu system and this is what I've come up with. I've coupled the changes of oneapi and python because they were all interdependent anyways and any single-purpose PR would create a similar mess to be cleaned up by the other connected PR. Putting them all in one place at least concentrates the pain.
While this was developed with oneAPI 2026.1, I suspect it would also work with 2026.0.
Nothing here is a code change to this PR — it is all upstream plumbing that has
to land before the
repos/builtinsubmodule can be bumped and this PR merged.This PR is blocking #2111
Dependencies
repos/builtinsubmodule in this PR once all cherry-picks are mergedTesting
This has been tested on Ubuntu 2024.04.
Checklist