From 04bb654f62366fb0f2f80b3e087bf6af32ea1f66 Mon Sep 17 00:00:00 2001 From: Cody Tapscott Date: Wed, 2 Sep 2026 21:39:27 +0000 Subject: [PATCH 1/2] LibSuiteSparse: build the version number without splatting a vector Splatting a `Vector` of unknown length into the `VersionNumber` constructor is not statically resolvable (juliac `--trim`); destructure the three components instead. This commit was written with the assistance of generative AI (Claude). Co-Authored-By: Claude Fable 5.1 --- src/solvers/LibSuiteSparse.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/solvers/LibSuiteSparse.jl b/src/solvers/LibSuiteSparse.jl index 13747243..2a033074 100644 --- a/src/solvers/LibSuiteSparse.jl +++ b/src/solvers/LibSuiteSparse.jl @@ -38,7 +38,8 @@ const init_suitesparse = Base.OncePerProcess{Nothing}() do if Libdl.dlsym_e(Libdl.dlopen("libsuitesparseconfig"), :SuiteSparse_version) != C_NULL current_version_array = Vector{Cint}(undef, 3) SuiteSparse_version(current_version_array) - current_version = VersionNumber(current_version_array...) + (major, minor, patch) = current_version_array + current_version = VersionNumber(major, minor, patch) else # SuiteSparse < 4.2.0 does not include SuiteSparse_version() current_version = v"0.0.0" end From c3b6bb50e3663716af1a1792f6ae445d9ee07fa3 Mon Sep 17 00:00:00 2001 From: Cody Tapscott Date: Wed, 2 Sep 2026 21:39:27 +0000 Subject: [PATCH 2/2] LibSuiteSparse: return `nothing` from the initializer `init_suitesparse` is a `OncePerProcess{Nothing}`, but its body ended in `cond && atexit(...)`, whose value infers as `Bool`. Storing that into the `Nothing` slot cannot be resolved statically (juliac `--trim`); return `nothing` explicitly. This commit was written with the assistance of generative AI (Claude). Co-Authored-By: Claude Fable 5.1 --- src/solvers/LibSuiteSparse.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/solvers/LibSuiteSparse.jl b/src/solvers/LibSuiteSparse.jl index 2a033074..a8e3f792 100644 --- a/src/solvers/LibSuiteSparse.jl +++ b/src/solvers/LibSuiteSparse.jl @@ -100,6 +100,7 @@ const init_suitesparse = Base.OncePerProcess{Nothing}() do catch ex @error "Error during initialization of module LibSuiteSparse" exception=ex,catch_backtrace() end + return nothing end # exports