LinearSolve.jl
LinearSolve.jl copied to clipboard
1.26.1 broken on Julia master.
Version 1.26.0 works, but on 1.26.1, I get the following error on a recent build of Julia master.
julia> using LinearSolve
[ Info: Precompiling LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae]
ERROR: LoadError: MethodError: no method matching SparseArrays.UMFPACK.UmfpackLU(::Ptr{Nothing}, ::Ptr{Nothing}, ::Int64, ::Int64, ::Vector{Int64}, ::Vector{Int64}, ::Vector{Float64}, ::Int64)
Closest candidates are:
SparseArrays.UMFPACK.UmfpackLU(::SparseArrays.UMFPACK.Symbolic{Tv, Ti}, ::SparseArrays.UMFPACK.Numeric{Tv, Ti}, ::Int64, ::Int64, ::Vector{Ti}, ::Vector{Ti}, ::Vector{Tv}, ::Int64, ::SparseArrays.UMFPACK.UmfpackWS{Ti}, ::Vector{Float64}, ::Vector{Float64}, ::ReentrantLock) where {Tv<:Union{Float64, ComplexF64}, Ti<:Union{Int32, Int64}}
@ SparseArrays ~/julia/usr/share/julia/stdlib/v1.9/SparseArrays/src/solvers/umfpack.jl:224
Stacktrace:
[1] init_cacheval(alg::LinearSolve.UMFPACKFactorization, A::SparseArrays.SparseMatrixCSC{Float64, Int64}, b::Vector{Float64}, u::Vector{Float64}, Pl::IterativeSolvers.Identity, Pr::IterativeSolvers.Identity, maxiters::Int64, abstol::Float64, reltol::Float64, verbose::Bool, assumptions::LinearSolve.OperatorAssumptions{Nothing})
@ LinearSolve ~/.julia/packages/LinearSolve/IugPa/src/factorization.jl:277
[2] init(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization; alias_A::Bool, alias_b::Bool, abstol::Float64, reltol::Float64, maxiters::Int64, verbose::Bool, Pl::IterativeSolvers.Identity, Pr::IterativeSolvers.Identity, assumptions::LinearSolve.OperatorAssumptions{Nothing}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ LinearSolve ~/.julia/packages/LinearSolve/IugPa/src/common.jl:111
[3] init(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization)
@ LinearSolve ~/.julia/packages/LinearSolve/IugPa/src/common.jl:91
[4] solve(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ LinearSolve ~/.julia/packages/LinearSolve/IugPa/src/common.jl:154
[5] solve(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization)
@ LinearSolve ~/.julia/packages/LinearSolve/IugPa/src/common.jl:151
[6] macro expansion
@ ~/.julia/packages/LinearSolve/IugPa/src/LinearSolve.jl:67 [inlined]
[7] top-level scope
@ ~/.julia/packages/SnoopPrecompile/UWvXF/src/SnoopPrecompile.jl:51
[8] include
@ ./Base.jl:439 [inlined]
[9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1649
[10] top-level scope
@ stdin:1
UMFPACK internal functions changed for 1.9. This package used those, probably unnecessarily. Will fix
Can we prioritize fixing this? It's fairly annoying and 1.9 is getting ever closer to being released (so missing the Diffeq stack from pkgeval is unfortunate).
Yep, working on it right now. Should be done by 5pm or 6pm (meeting before I can finish it up)
I can still reproduce this.
julia> using LinearSolve
[ Info: Precompiling LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae]
ERROR: LoadError: MethodError: no method matching SparseArrays.UMFPACK.UmfpackLU(::Ptr{Nothing}, ::Ptr{Nothing}, ::Int64, ::Int64, ::Vector{Int64}, ::Vector{Int64}, ::Vector{Float64}, ::Int64)
Closest candidates are:
SparseArrays.UMFPACK.UmfpackLU(::SparseArrays.UMFPACK.Symbolic{Tv, Ti}, ::SparseArrays.UMFPACK.Numeric{Tv, Ti}, ::Int64, ::Int64, ::Vector{Ti}, ::Vector{Ti}, ::Vector{Tv}, ::Int64, ::SparseArrays.UMFPACK.UmfpackWS{Ti}, ::Vector{Float64}, ::Vector{Float64}, ::ReentrantLock) where {Tv<:Union{Float64, ComplexF64}, Ti<:Union{Int32, Int64}}
@ SparseArrays /home/lutfullah/Programs/julia-1.9/share/julia/stdlib/v1.9/SparseArrays/src/solvers/umfpack.jl:224
Stacktrace:
[1] init_cacheval(alg::LinearSolve.UMFPACKFactorization, A::SparseArrays.SparseMatrixCSC{Float64, Int64}, b::Vector{Float64}, u::Vector{Float64}, Pl::IterativeSolvers.Identity, Pr::IterativeSolvers.Identity, maxiters::Int64, abstol::Float64, reltol::Float64, verbose::Bool, assumptions::LinearSolve.OperatorAssumptions{Nothing})
@ LinearSolve /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/factorization.jl:279
[2] init(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization; alias_A::Bool, alias_b::Bool, abstol::Float64, reltol::Float64, maxiters::Int64, verbose::Bool, Pl::IterativeSolvers.Identity, Pr::IterativeSolvers.Identity, assumptions::LinearSolve.OperatorAssumptions{Nothing}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ LinearSolve /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/common.jl:111
[3] init(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization)
@ LinearSolve /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/common.jl:91
[4] solve(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ LinearSolve /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/common.jl:154
[5] solve(::SciMLBase.LinearProblem{Nothing, true, SparseArrays.SparseMatrixCSC{Float64, Int64}, Vector{Float64}, SciMLBase.NullParameters, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::LinearSolve.UMFPACKFactorization)
@ LinearSolve /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/common.jl:151
[6] macro expansion
@ /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/LinearSolve.jl:67 [inlined]
[7] top-level scope
@ /home/lutfullah/Programs/homedir/.julia/packages/SnoopPrecompile/UWvXF/src/SnoopPrecompile.jl:51
[8] include
@ ./Base.jl:450 [inlined]
[9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1649
[10] top-level scope
@ stdin:1
in expression starting at /home/lutfullah/Programs/homedir/.julia/packages/LinearSolve/f5SeN/src/LinearSolve.jl:1
in expression starting at stdin:1
ERROR: Failed to precompile LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae] to /home/lutfullah/Programs/julia-1.9/bin/../../homedir/.julia/compiled/v1.9/LinearSolve/jl_Lk17bK.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base ./loading.jl:1802
[3] compilecache
@ ./loading.jl:1746 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:1432
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:1296
[6] macro expansion
@ ./loading.jl:1276 [inlined]
[7] macro expansion
@ ./lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base ./loading.jl:1239
Can you tell me what VERSION
prints in the REPL? I cannot reproduce your error.
also what package versions?
I am not on that computer now but the package version was at 1.27.1
and julia
is 3 days old and I downloaded it just after a new release with the PR
closed this issue. I can only look up at details tomorrow.
Okay I'll reopen for now, please let us know the environment sometime tomorrow!
The system details are
(@v1.9) pkg> add LinearSolve
Resolving package versions...
Updating `/home/lutfullah/Programs/homedir/.julia/environments/v1.9/Project.toml`
[7ed4a6bd] + LinearSolve v1.27.1
No Changes to `/home/lutfullah/Programs/homedir/.julia/environments/v1.9/Manifest.toml`
julia> VERSION
v"1.9.0-DEV.1620"
I don't know why but when I updated to a newer Julia master, the new realease worked. I guess then this can be closed.
Yes, apologies, the version tag we branch off of is v"1.9.0-DEV.1622". Glad it got fixed up!