Drop GSL and finalize fortnum wiring (8/8)#147
Draft
krystophny wants to merge 1 commit into
Draft
Conversation
This was referenced Jun 14, 2026
Member
Author
|
Stacked on this branch, PRs #148-#150 finish the upstream numerical dependency removal that this PR (AMOS) was part of, completing the GSL/AMOS/SLATEC/QUADPACK drop. Only BLAS/LAPACK/OpenMP/MPI remain.
nm on every shipped binary: 0 dqag/quadpack-netlib, 0 d1mach/i1mach/xermsg/slatec, 0 zeal, 0 ddeabm. ctest green at each step. The only residual undefined GSL symbol is |
b41221c to
eba278e
Compare
7a3574a to
7a8cbba
Compare
7a8cbba to
38393a4
Compare
This was referenced Jun 14, 2026
38393a4 to
39cdebe
Compare
2ac023b to
a17d191
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge order
These fortnum-migration PRs are individually based on
mainand form onecumulative stack. Merge them in this order:
#140 -> #141 -> #142 -> #143 -> #144 -> #145 -> #146 -> #147 -> #148 -> #149 -> #150
Each PR is opened against
main, so its diff is cumulative versusmainandoverlaps its predecessors. Merging in the order above keeps the history linear:
once a predecessor merges into
main, the next PR's diff shrinks to just itsown increment.
Scope
Remove the last GSL traces now that every call site runs on fortnum and finalize the build wiring. Deletes
cmake/FetchGSL.cmakeand its include, stripsgsl/gslcblasand the gsl include path from the KiLCA, QL-Balance, and KIM CMake targets, and drops thefind_package(GSL)probe.KIM_exeand the KIM tests link the in-treekilca_libtarget instead of the hardcoded versioned.apath;ddeabmgains an explicitslateclink soxermsg_resolves under the new link order. Updates the legacy build scripts and the dependency docs to name fortnum in place of GSL.Dependency removed
The GSL build dependency (
FetchGSL,gsl/gslcblaslink targets, the GSL probe) for the whole project.Verification
Full KAMEL configure and build of the stack tip (all eight aspects applied), with fortnum from the local checkout at a7faa3c:
nmover every shipped binary (install/bin/{KIM,ql-balance,fouriermodes}.xandtests/*.x):zbknu zbinu zseri zmlri zasyi zacai zacon zunhj zunik zuoik zwrsk zbuni zbunk zairy zbesh zbesy zbiry dgamln zabs).zbesi_/zbesj_/zbesk_defined as the fortnum-backed shim inKIM.x.gsl_symbols from KAMEL code. The only residual GSL references are two undefinedgsl_sf_gamma/gsl_sf_gamma_inc_Pinql-balance.xandtest_rhs_balance.xpulled transitively fromlibneo.a, not from KAMEL sources; the GSL detection line in the configure log likewise comes from a fetched dependency's own probe.This PR is the buildable, fully verified tip of the stack and is draft only pending review of the stack as a whole.
Stack reconciliation (update)
The migration stack was rebuilt as a strictly linear cumulative chain on main
428a708:Every branch now pins fortnum to main
974dcf1(all kernel fixes plus both new integrators). This branch's standalone golden result above stands. The cumulative tip (#150 z3) does not pass: the KiLCA background equilibrium ODE on#143 k4cannot reproduce the GSLrk8pdgolden with DOP853 at the unchanged1e-8bar. See#143and#150. Tolerances were not weakened and the stored golden was not regenerated.Merge order:
#140 -> #141 -> #142 -> #143 -> #144 -> #145 -> #146 -> #147 -> #148 -> #149 -> #150.Note: fortnum pin updated to current main (92de6e9) after a fortnum history rewrite; old shas no longer resolve.