Skip to content

New version: ODEInterface v0.5.1#159294

Merged
JuliaTagBot merged 1 commit into
masterfrom
registrator-odeinterface-54ca160b-v0.5.1-616f747ade
Jun 26, 2026
Merged

New version: ODEInterface v0.5.1#159294
JuliaTagBot merged 1 commit into
masterfrom
registrator-odeinterface-54ca160b-v0.5.1-616f747ade

Conversation

@JuliaRegistrator

Copy link
Copy Markdown
Contributor

UUID: 54ca160b-1b9f-5127-a996-1867f4bc2a2c
Repo: https://github.com/luchr/ODEInterface.jl.git
Tree: 47333eaf8d7723fb4dbb9b276afd73103edec08e

Registrator tree SHA: 50f504d641745716a5b3eabaf681d3a4937d2ae3
JuliaRegistrator referenced this pull request in luchr/ODEInterface.jl Jun 26, 2026
ODEInterface_jll 0.0.2 (the version with the Julia 1.12 loading fix layout)
itself requires Julia >= 1.10, so 1.10 LTS is the supported floor.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@github-actions

Copy link
Copy Markdown
Contributor

Hello, I am an automated registration bot. I help manage the registration process by checking your registration against a set of AutoMerge guidelines. If all these guidelines are met, this pull request will be merged automatically, completing your registration. It is strongly recommended to follow the guidelines, since otherwise the pull request needs to be manually reviewed and merged by a human.

1. AutoMerge Guidelines are all met! ✅

Your new version registration met all of the guidelines for auto-merging and is scheduled to be merged in the next round (~20 minutes).

2. To pause or stop registration

If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.

Tip: You can edit blocking comments to add [noblock] in order to unblock auto-merging.

@JuliaTagBot JuliaTagBot merged commit 06449b1 into master Jun 26, 2026
21 checks passed
@JuliaTagBot JuliaTagBot deleted the registrator-odeinterface-54ca160b-v0.5.1-616f747ade branch June 26, 2026 19:00
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/ODEInterfaceDiffEq.jl that referenced this pull request Jun 26, 2026
ODEInterface 0.5.1 is now registered in General (JuliaRegistries/General#159294),
carrying the upstream fix (luchr/ODEInterface.jl#36) for the Julia 1.12+
binding-partition issue that made loadODESolvers() raise
UndefVarError(:ODEInterface_jll).

Cap ODEInterface to 0.5.1 rather than 0.5 so the resolver cannot select the
still-broken 0.5.0. Since 0.5.x loads the solvers via ODEInterface_jll instead
of compiling from source, the gfortran apt-package workaround added for the
0.4.8 cap is no longer needed and is removed from the Tests and Downgrade
workflows. Bump the package to 5.0.1.

Verified locally on Julia 1.12.4: resolver selects ODEInterface v0.5.1, all
solvers load with no errors, Core/algorithm_tests.jl runs to completion, and
the full Core test group passes.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AJWwVTJoJLeknNgo5GTQ2K
ChrisRackauckas added a commit to SciML/ODEInterfaceDiffEq.jl that referenced this pull request Jun 27, 2026
…109)

* Cap ODEInterface to 0.4.8 to fix Julia 1.12+ solver loading

ODEInterface 0.5.0 (the only registered 0.5.x) fails to load its solver
libraries on Julia 1.12 and 1.13. `loadODESolvers()` does
`@eval ODEInterface begin using ODEInterface_jll end` and then, within the
same call frame, accesses the `ODEInterface_jll` global via `getproperty`.
Under Julia 1.12's stricter binding-partition / world-age semantics the
binding created by the `using` is only visible in a newer world age, so the
in-frame access raises `UndefVarError(:ODEInterface_jll)`. All solvers then
report a load error and `getAllMethodPtrs` throws `SolverODEnotLoaded`,
erroring Core/algorithm_tests.jl on the `julia 1` and `julia pre` CI jobs
(lts/1.10 was unaffected and stayed green).

The upstream fix (luchr/ODEInterface.jl PR #36, tagged v0.5.1) switches to
`import ODEInterface_jll` and `@eval getproperty(...)`, but v0.5.1 is not yet
registered in General, so it cannot be selected by compat. ODEInterface
0.4.8 uses the older local gfortran build path, which loads correctly on
Julia 1.12/1.13, so cap to it as the last working registered version.

Verified locally: GROUP=Core `Pkg.test` passes on both Julia 1.12.6 and
1.10.11 (all Core test files green, exit 0). When ODEInterface 0.5.1 is
registered, this cap can be relaxed back to allow 0.5.1+.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* CI: install gfortran so the ODEInterface 0.4.8 source build succeeds

Capping ODEInterface to 0.4.8 (to dodge the 0.5.0 Julia-1.12 _jll load
bug) reintroduces 0.4.8's gfortran source build in deps/build.jl. On
runners without gfortran the build errors with "Currently only gfortran
is supported", which broke the QA (julia lts) job. Pass apt-packages:
"gfortran" to the grouped-tests workflow so every test job has gfortran
before building/testing.

Verified locally on Julia 1.10: ODEInterface resolves to 0.4.8, the
gfortran-built solvers load, a dopri5() solve returns Success, and the
QA suite passes (Aqua 7 pass + pre-existing broken, JET pre-existing
broken).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* CI: install gfortran in Downgrade too for the ODEInterface 0.4.8 build

The Downgrade job also builds ODEInterface 0.4.8 from source (gfortran),
which intermittently fails on runners lacking gfortran. Pass
apt-packages: "gfortran" to downgrade.yml for the same reason as the
main Tests workflow.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Bump ODEInterface compat to 0.5.1, drop 0.4.8 gfortran workaround

ODEInterface 0.5.1 is now registered in General (JuliaRegistries/General#159294),
carrying the upstream fix (luchr/ODEInterface.jl#36) for the Julia 1.12+
binding-partition issue that made loadODESolvers() raise
UndefVarError(:ODEInterface_jll).

Cap ODEInterface to 0.5.1 rather than 0.5 so the resolver cannot select the
still-broken 0.5.0. Since 0.5.x loads the solvers via ODEInterface_jll instead
of compiling from source, the gfortran apt-package workaround added for the
0.4.8 cap is no longer needed and is removed from the Tests and Downgrade
workflows. Bump the package to 5.0.1.

Verified locally on Julia 1.12.4: resolver selects ODEInterface v0.5.1, all
solvers load with no errors, Core/algorithm_tests.jl runs to completion, and
the full Core test group passes.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AJWwVTJoJLeknNgo5GTQ2K

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants