Had to install OpenSpecFun by direct command after upgrade to Julia 1.9

It took me a while to figure out that the error message meant OpenSpecFun isn’t current, and can’t be automatically installed; giving the commands to install it directly fixed the problem.

A Google search returns multiple versions of this problem; it’s apparently chronic. I’d like to report a bug, but I’m not sure even what component to attribute the problem to. Any thoughts?

What error message? What were you doing?

Sorry. It took some digging to find a record of the message. It occurred when my package executed “using Images”. The message was:

[ Info: Precompiling RadTools [e4442d1b-141c-47f4-9234-30379aeb9180]
ERROR: LoadError: InitError: Artifact "OpenSpecFun" was not found by looking in the paths:
[…]
Try `using Pkg; Pkg.instantiate()` to re-install all missing resources

etc., etc., etc.

It was not obvious that what this meant was OpenSpecFun isn’t current, and julia couldn’t download it. Trying using Pkg; Pkg.instantiate() didn’t work, but import Pkg; Pkg.add("OpenSpecFun_jll") finally did.

The full error message was:

[ Info: Precompiling RadTools [e4442d1b-141c-47f4-9234-30379aeb9180]
ERROR: LoadError: InitError: Artifact "OpenSpecFun" was not found by looking in the paths:
  ~/.julia/artifacts/083301655942999198605bee77f89f1d41bf820e
  /Applications/Julia-1.9.app/Contents/Resources/julia/local/share/julia/artifacts/083301655942999198605bee77f89f1d41bf820e
  /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/artifacts/083301655942999198605bee77f89f1d41bf820e
Try `using Pkg; Pkg.instantiate()` to re-install all missing resources if the artifact is part of a package or call `Pkg.ensure_artifact_installed` (https://pkgdocs.julialang.org/v1/api/#Pkg.Artifacts.ensure_artifact_installed) if not.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] _artifact_str(__module__::Module, artifacts_toml::String, name::SubString{String}, path_tail::String, artifact_dict::Dict{String, Any}, hash::Base.SHA1, platform::Base.BinaryPlatforms.Platform, lazyartifacts::Any)
    @ Artifacts /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Artifacts/src/Artifacts.jl:569
  [3] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Base ./essentials.jl:816
  [4] invokelatest(::Any, ::Any, ::Vararg{Any})
    @ Base ./essentials.jl:813
  [5] macro expansion
    @ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Artifacts/src/Artifacts.jl:703 [inlined]
  [6] find_artifact_dir()
    @ OpenSpecFun_jll ~/.julia/packages/JLLWrappers/QpMQW/src/wrapper_generators.jl:17
  [7] __init__()
    @ OpenSpecFun_jll ~/.julia/packages/OpenSpecFun_jll/1Zaof/src/wrappers/x86_64-apple-darwin-libgfortran5.jl:8
  [8] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1115
  [9] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
    @ Base ./loading.jl:1061
 [10] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
    @ Base ./loading.jl:1506
 [11] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1783
 [12] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1660
 [13] macro expansion
    @ ./loading.jl:1648 [inlined]
 [14] macro expansion
    @ ./lock.jl:267 [inlined]
 [15] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1611
 [16] include
    @ ./Base.jl:457 [inlined]
 [17] 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, UInt128}}, source::String)
    @ Base ./loading.jl:2045
 [18] top-level scope
    @ stdin:3
during initialization of module OpenSpecFun_jll
in expression starting at /Users/rfritz/.julia/packages/SpecialFunctions/gXPNz/src/SpecialFunctions.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile SpecialFunctions [276daf66-3868-5448-9aa4-cd146d93841b] to "/Users/rfritz/.julia/compiled/v1.9/SpecialFunctions/jl_sRnHFE".
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:2296
  [3] compilecache
    @ ./loading.jl:2163 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1805
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1660
  [6] macro expansion
    @ ./loading.jl:1648 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1611
  [9] include
    @ ./Base.jl:457 [inlined]
 [10] 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, UInt128}}, source::String)
    @ Base ./loading.jl:2045
 [11] top-level scope
    @ stdin:3
in expression starting at /Users/rfritz/.julia/packages/ColorVectorSpace/QI5vM/src/ColorVectorSpace.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile ColorVectorSpace [c3611d14-8923-5661-9e6a-0046d554d3a4] to "/Users/rfritz/.julia/compiled/v1.9/ColorVectorSpace/jl_J8fTSS".
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:2296
  [3] compilecache
    @ ./loading.jl:2163 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1805
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1660
  [6] macro expansion
    @ ./loading.jl:1648 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1611
  [9] include
    @ ./Base.jl:457 [inlined]
 [10] 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, UInt128}}, source::String)
    @ Base ./loading.jl:2045
 [11] top-level scope
    @ stdin:3
in expression starting at /Users/rfritz/.julia/packages/ImageCore/wTsMr/src/ImageCore.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile ImageCore [a09fc81d-aa75-5fe9-8630-4744c3626534] to "/Users/rfritz/.julia/compiled/v1.9/ImageCore/jl_Zwg6tZ".
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:2296
  [3] compilecache
    @ ./loading.jl:2163 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1805
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1660
  [6] macro expansion
    @ ./loading.jl:1648 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1611
  [9] include
    @ ./Base.jl:457 [inlined]
 [10] 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, UInt128}}, source::String)
    @ Base ./loading.jl:2045
 [11] top-level scope
    @ stdin:3
in expression starting at /Users/rfritz/.julia/packages/Images/BxFsu/src/Images.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile Images [916415d5-f1e6-5110-898d-aaa5f9f070e0] to "/Users/rfritz/.julia/compiled/v1.9/Images/jl_Yz5mr3".
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:2296
  [3] compilecache
    @ ./loading.jl:2163 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1805
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1660
  [6] macro expansion
    @ ./loading.jl:1648 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1611
  [9] include
    @ ./Base.jl:457 [inlined]
 [10] 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, UInt128}}, source::Nothing)
    @ Base ./loading.jl:2045
 [11] top-level scope
    @ stdin:3
in expression starting at /Users/rfritz/.julia/dev/RadTools/src/RadTools.jl:1
in expression starting at stdin:3
Failed to precompile RadTools [e4442d1b-141c-47f4-9234-30379aeb9180] to "/Users/rfritz/.julia/compiled/v1.9/RadTools/jl_eVzj48".

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:2296
 [3] compilecache
   @ ./loading.jl:2163 [inlined]
 [4] _require(pkg::Base.PkgId, env::String)
   @ Base ./loading.jl:1805
 [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
   @ Base ./loading.jl:1660
 [6] macro expansion
   @ ./loading.jl:1648 [inlined]
 [7] macro expansion
   @ ./lock.jl:267 [inlined]
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1611