Tested across two different machines with varying global environment setup, both⦠running Ubuntu 24.04 LTS.
I have a Julia global environment update script that looks something like this:
```
for d in ~/.julia/environments/*/; do n=$(basename "$d"); echo "== $n =="; julia --startup-file=no --project=@"$n" -e 'using Pkg; Pkg.status(); Pkg.update()'; echo ""; done
```
After updating system default Julia to 1.13 via juliaup, running above update script results in LoadError messages for a couple of recurring key packages:
For example, here's load error message from an environment containing Tachikoma.jl
```
ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("3161d3a3-bdf6-5164-811a-617609db77b4"), "Zstd_jll") not available with flags CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2736
[3] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2597
[4] macro expansion
@ ./loading.jl:2525 [inlined]
[5] macro expansion
@ ./lock.jl:376 [inlined]
[6] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2489
[7] require
@ ./loading.jl:2465 [inlined]
[8] eval_import_path
@ ./module.jl:36 [inlined]
[9] eval_import_path_all(at::Module, path::Expr, keyword::String)
@ Base ./module.jl:60
[10] _eval_using(to::Module, path::Expr)
@ Base ./module.jl:137
[11] top-level scope
@ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL_jll/src/LibCURL_jll.jl:6
[12] include(mod::Module, _path::String)
@ Base ./Base.jl:309
[13] 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:3177
[14] top-level scope
@ stdin:5
[15] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[16] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:3016
[17] include_string
@ ./loading.jl:3026 [inlined]
[18] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:342
[19] _start()
@ Base ./client.jl:577
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL_jll/src/LibCURL_jll.jl:5
in expression starting at stdin:5
1 dependency had output during precompilation:
β LibCURL_jll
β [Output was shown above]
β
ERROR: LoadError: The following 1 package failed to precompile:
LibCURL_jll
Failed to precompile LibCURL_jll [deac9b47-8bc7-5906-a0fe-35ac56dc84c0] to "/home/.julia/compiled/v1.13/LibCURL_jll/jl_RRI3M3" (ProcessExited(1)).
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL/src/LibCURL.jl:2
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Curl/Curl.jl:1
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Downloads.jl:1
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/PlatformEngines.jl:5
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/Pkg.jl:3
```
Here's about the same load error message when trying to update another global environment containing
CairoMakie
HDF5
NNlib
NPZ
Statistics
```
[ Info: Precompiling Pkg [44cfe95a-1eb2-52ea-b672-e2afdf69b78f] (caches not reused: 2 for different compilation options)
ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("f43a241f-c20a-4ad4-852c-f6b1247861c6"), "Downloads") not available with flags CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2736
[3] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2597
[4] macro expansion
@ ./loading.jl:2525 [inlined]
[5] macro expansion
@ ./lock.jl:376 [inlined]
[6] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2489
[7] require
@ ./loading.jl:2465 [inlined]
[8] eval_import_path
@ ./module.jl:36 [inlined]
[9] eval_import_path_all(at::Module, path::Expr, keyword::String)
@ Base ./module.jl:60
[10] _eval_using(to::Module, path::Expr)
@ Base ./module.jl:137
[11] top-level scope
@ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/PlatformEngines.jl:7
[12] include(mapexpr::Function, mod::Module, _path::String)
@ Base ./Base.jl:310
[13] top-level scope
@ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/Pkg.jl:110
[14] include(mod::Module, _path::String)
@ Base ./Base.jl:309
[15] 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:3177
[16] top-level scope
@ stdin:5
[17] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:3016
[19] include_string
@ ./loading.jl:3026 [inlined]
[20] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:342
[21] _start()
@ Base ./client.jl:577
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/PlatformEngines.jl:5
in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Pkg/src/Pkg.jl:3
in expression starting at stdin:5
β LibCURL_jll
β LibCURL
β Downloads
β Pkg
Precompiling Pkg finished.
0 dependencies successfully precompiled in 4 seconds. 22 already precompiled.
4 dependencies had output during precompilation:
β Downloads
β ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"), "LibCURL") not available with flags CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)
β Stacktrace:
β [1] error(s::String)
β @ Base ./error.jl:44
β [2] __require_prelocked(pkg::Base.PkgId, env::String)
β @ Base ./loading.jl:2736
β [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
β @ Base ./loading.jl:2597
β [4] macro expansion
β @ ./loading.jl:2525 [inlined]
β [5] macro expansion
β @ ./lock.jl:376 [inlined]
β [6] __require(into::Module, mod::Symbol)
β @ Base ./loading.jl:2489
β [7] require
β @ ./loading.jl:2465 [inlined]
β [8] eval_import_path
β @ ./module.jl:36 [inlined]
β [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
β @ Base ./module.jl:60
β [10] _eval_using(to::Module, path::Expr)
β @ Base ./module.jl:137
β [11] top-level scope
β @ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Curl/Curl.jl:30
β [12] include(mapexpr::Function, mod::Module, _path::String)
β @ Base ./Base.jl:310
β [13] top-level scope
β @ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Downloads.jl:20
β [14] include(mod::Module, _path::String)
β @ Base ./Base.jl:309
β [15] 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:3177
β [16] top-level scope
β @ stdin:5
β [17] eval(m::Module, e::Any)
β @ Core ./boot.jl:489
β [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
β @ Base ./loading.jl:3016
β [19] include_string
β @ ./loading.jl:3026 [inlined]
β [20] exec_options(opts::Base.JLOptions)
β @ Base ./client.jl:342
β [21] _start()
β @ Base ./client.jl:577
β in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Curl/Curl.jl:1
β in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/Downloads/src/Downloads.jl:1
β in expression starting at stdin:5
β
β LibCURL_jll
β ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("3161d3a3-bdf6-5164-811a-617609db77b4"), "Zstd_jll") not available with flags CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)
β Stacktrace:
β [1] error(s::String)
β @ Base ./error.jl:44
β [2] __require_prelocked(pkg::Base.PkgId, env::String)
β @ Base ./loading.jl:2736
β [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
β @ Base ./loading.jl:2597
β [4] macro expansion
β @ ./loading.jl:2525 [inlined]
β [5] macro expansion
β @ ./lock.jl:376 [inlined]
β [6] __require(into::Module, mod::Symbol)
β @ Base ./loading.jl:2489
β [7] require
β @ ./loading.jl:2465 [inlined]
β [8] eval_import_path
β @ ./module.jl:36 [inlined]
β [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
β @ Base ./module.jl:60
β [10] _eval_using(to::Module, path::Expr)
β @ Base ./module.jl:137
β [11] top-level scope
β @ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL_jll/src/LibCURL_jll.jl:6
β [12] include(mod::Module, _path::String)
β @ Base ./Base.jl:309
β [13] 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:3177
β [14] top-level scope
β @ stdin:5
β [15] eval(m::Module, e::Any)
β @ Core ./boot.jl:489
β [16] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
β @ Base ./loading.jl:3016
β [17] include_string
β @ ./loading.jl:3026 [inlined]
β [18] exec_options(opts::Base.JLOptions)
β @ Base ./client.jl:342
β [19] _start()
β @ Base ./client.jl:577
β in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL_jll/src/LibCURL_jll.jl:5
β in expression starting at stdin:5
β
β Pkg
β [Output was shown above]
β
β LibCURL
β ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("deac9b47-8bc7-5906-a0fe-35ac56dc84c0"), "LibCURL_jll") not available with flags CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)
β Stacktrace:
β [1] error(s::String)
β @ Base ./error.jl:44
β [2] __require_prelocked(pkg::Base.PkgId, env::String)
β @ Base ./loading.jl:2736
β [3] _require_prelocked(uuidkey::Base.PkgId, env::String)
β @ Base ./loading.jl:2597
β [4] macro expansion
β @ ./loading.jl:2525 [inlined]
β [5] macro expansion
β @ ./lock.jl:376 [inlined]
β [6] __require(into::Module, mod::Symbol)
β @ Base ./loading.jl:2489
β [7] require
β @ ./loading.jl:2465 [inlined]
β [8] eval_import_path
β @ ./module.jl:36 [inlined]
β [9] eval_import_path_all(at::Module, path::Expr, keyword::String)
β @ Base ./module.jl:60
β [10] _eval_using(to::Module, path::Expr)
β @ Base ./module.jl:137
β [11] top-level scope
β @ ~/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL/src/LibCURL.jl:4
β [12] include(mod::Module, _path::String)
β @ Base ./Base.jl:309
β [13] 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:3177
β [14] top-level scope
β @ stdin:5
β [15] eval(m::Module, e::Any)
β @ Core ./boot.jl:489
β [16] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
β @ Base ./loading.jl:3016
β [17] include_string
β @ ./loading.jl:3026 [inlined]
β [18] exec_options(opts::Base.JLOptions)
β @ Base ./client.jl:342
β [19] _start()
β @ Base ./client.jl:577
β in expression starting at /home/.julia/juliaup/julia-1.13.0+0.x64.linux.gnu/share/julia/stdlib/v1.13/LibCURL/src/LibCURL.jl:2
β in expression starting at stdin:5
β
ERROR: LoadError: The following 4 packages failed to precompile:
Downloads
Failed to precompile Downloads [f43a241f-c20a-4ad4-852c-f6b1247861c6] to "/home/.julia/compiled/v1.13/Downloads/jl_BzPZ5Z" (ProcessExited(1)).
LibCURL_jll
Failed to precompile LibCURL_jll [deac9b47-8bc7-5906-a0fe-35ac56dc84c0] to "/home/.julia/compiled/v1.13/LibCURL_jll/jl_bLTyfs" (ProcessExited(1)).
Pkg
Failed to precompile Pkg [44cfe95a-1eb2-52ea-b672-e2afdf69b78f] to "/home/.julia/compiled/v1.13/Pkg/jl_1YN2k2" (ProcessExited(1)).
LibCURL
Failed to precompile LibCURL [b27032c2-a3e7-50c8-80cd-2d36dbcbfd21] to "/home/.julia/compiled/v1.13/LibCURL/jl_iIrRMg" (ProcessExited(1)).
in expression starting at /home/sung/.julia/config/startup.jl:1
```
Maybe this has something to do with the last line in startup.jl? Here's a copy of my current setup:
```
using Pkg: Pkg
atreplinit() do repl
try
@eval using Revise
catch e
@warn "error while importing Revise" exception=(e, catch_backtrace())
end
end
```
The 'using Pkg:Pkg' was added since without it startup.jl with Revise and other modules returned errors in pre-1.13 Julia versions.
I also had OhMyREPL and some other stuff on there, but removed them prior to latest update attempt that generated those messages.
Manually calling up the global julia environment via julia --project=@ of the offending environments show the same precompilation and loading related message. However, ignoring them and going into the package mode ']' and running 'update' command seems to update the environment.
Setup wise I don't think I have anything esoteric... Just a slightly more complex version of above startup.jl integrating with helix editor.
Let me know if I can provide more info. Thank you!