julia> versioninfo()
Julia Version 1.12.6
Commit 15346901f00 (2026-04-09 19:20 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: macOS (arm64-apple-darwin24.0.0)
CPU: 12 × Apple M3 Pro
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, apple-m3)
GC: Built with stock GC
Threads: 6 default, 1 interactive, 6 GC (on 6 virtual cores)
$ julia --threads=auto
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.12.6 (2026-04-09)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org release
|__/ |
(@v1.12) pkg> update
Updating registry at `~/.julia/registries/General.toml`
Project No packages added to or removed from `~/.julia/environments/v1.12/Project.toml`
Manifest No packages added to or removed from `~/.julia/environments/v1.12/Manifest.toml`
✗ JACC
✗ JACC → MetalExt
✗ JACC → CUDAExt
Precompiling packages finished.
0 dependencies successfully precompiled in 19 seconds. 499 already precompiled.
3 dependencies errored.
For a report of the errors see `julia> err`. To retry use `pkg> precompile`
julia> err
PkgPrecompileError: The following 3 direct dependencies failed to precompile:
JACC
Failed to precompile JACC [0979c8fe-16a4-4796-9b82-89a9f10403ea] to "/Users/eschnett/.julia/compiled/v1.12/JACC/jl_VfiPmY".
ERROR: LoadError: ArgumentError: Package JACC does not have Metal in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
to ensure all packages in the environment are installed.
- Or, if you have JACC checked out for development and have
added Metal as a dependency but haven't updated your primary
environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with JACC
Stacktrace:
[1] macro expansion
@ ./loading.jl:2408 [inlined]
[2] macro expansion
@ ./lock.jl:376 [inlined]
[3] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[4] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[5] top-level scope
@ ~/.julia/packages/JACC/PLdGe/src/preferences.jl:111
[6] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[7] 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:3028
[8] top-level scope
@ stdin:5
[9] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[10] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[11] include_string
@ ./loading.jl:2884 [inlined]
[12] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[13] _start()
@ Base ./client.jl:550
in expression starting at /Users/eschnett/.julia/packages/JACC/PLdGe/src/JACC.jl:2
in expression starting at stdin:5
JACC → MetalExt
Failed to precompile MetalExt [1f72fedd-02dd-535e-99c5-839e8d950d7a] to "/Users/eschnett/.julia/compiled/v1.12/MetalExt/jl_k6Mz9G".
ERROR: LoadError: ArgumentError: Package JACC does not have Metal in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
to ensure all packages in the environment are installed.
- Or, if you have JACC checked out for development and have
added Metal as a dependency but haven't updated your primary
environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with JACC
Stacktrace:
[1] macro expansion
@ ./loading.jl:2408 [inlined]
[2] macro expansion
@ ./lock.jl:376 [inlined]
[3] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[4] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[5] top-level scope
@ ~/.julia/packages/JACC/PLdGe/src/preferences.jl:111
[6] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[7] 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:3028
[8] top-level scope
@ stdin:5
[9] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[10] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[11] include_string
@ ./loading.jl:2884 [inlined]
[12] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[13] _start()
@ Base ./client.jl:550
in expression starting at /Users/eschnett/.julia/packages/JACC/PLdGe/src/JACC.jl:2
in expression starting at stdin:5
ERROR: LoadError: Failed to precompile JACC [0979c8fe-16a4-4796-9b82-89a9f10403ea] to "/Users/eschnett/.julia/compiled/v1.12/JACC/jl_wRJHzM".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
@ Base ./loading.jl:3315
[3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
@ Base ./loading.jl:2683
[4] mkpidlock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:96
[5] #mkpidlock#7
@ ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:91 [inlined]
[6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:117
[7] #invokelatest_gr#232
@ ./reflection.jl:1297 [inlined]
[8] invokelatest_gr
@ ./reflection.jl:1289 [inlined]
[9] maybe_cachefile_lock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base ./loading.jl:3886
[10] maybe_cachefile_lock
@ ./loading.jl:3883 [inlined]
[11] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2669
[12] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2495
[13] macro expansion
@ ./loading.jl:2423 [inlined]
[14] macro expansion
@ ./lock.jl:376 [inlined]
[15] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[16] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[17] top-level scope
@ ~/.julia/packages/JACC/PLdGe/ext/MetalExt/MetalExt.jl:3
[18] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[19] 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:3028
[20] top-level scope
@ stdin:5
[21] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[22] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[23] include_string
@ ./loading.jl:2884 [inlined]
[24] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[25] _start()
@ Base ./client.jl:550
in expression starting at /Users/eschnett/.julia/packages/JACC/PLdGe/ext/MetalExt/MetalExt.jl:1
in expression starting at stdin:5
JACC → CUDAExt
Failed to precompile CUDAExt [8a406b1d-6dc5-5a08-b89d-a9dc6d856c9b] to "/Users/eschnett/.julia/compiled/v1.12/CUDAExt/jl_kNx6D2".
ERROR: LoadError: ArgumentError: Package JACC does not have Metal in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
to ensure all packages in the environment are installed.
- Or, if you have JACC checked out for development and have
added Metal as a dependency but haven't updated your primary
environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with JACC
Stacktrace:
[1] macro expansion
@ ./loading.jl:2408 [inlined]
[2] macro expansion
@ ./lock.jl:376 [inlined]
[3] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[4] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[5] top-level scope
@ ~/.julia/packages/JACC/PLdGe/src/preferences.jl:111
[6] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[7] 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:3028
[8] top-level scope
@ stdin:5
[9] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[10] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[11] include_string
@ ./loading.jl:2884 [inlined]
[12] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[13] _start()
@ Base ./client.jl:550
in expression starting at /Users/eschnett/.julia/packages/JACC/PLdGe/src/JACC.jl:2
in expression starting at stdin:5
ERROR: LoadError: Failed to precompile JACC [0979c8fe-16a4-4796-9b82-89a9f10403ea] to "/Users/eschnett/.julia/compiled/v1.12/JACC/jl_Z3n2XN".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool; flags::Cmd, cacheflags::Base.CacheFlags, reasons::Dict{String, Int64}, loadable_exts::Nothing)
@ Base ./loading.jl:3315
[3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
@ Base ./loading.jl:2683
[4] mkpidlock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:96
[5] #mkpidlock#7
@ ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:91 [inlined]
[6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.6+0.aarch64.apple.darwin14/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:117
[7] #invokelatest_gr#232
@ ./reflection.jl:1297 [inlined]
[8] invokelatest_gr
@ ./reflection.jl:1289 [inlined]
[9] maybe_cachefile_lock(f::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base ./loading.jl:3886
[10] maybe_cachefile_lock
@ ./loading.jl:3883 [inlined]
[11] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2669
[12] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2495
[13] macro expansion
@ ./loading.jl:2423 [inlined]
[14] macro expansion
@ ./lock.jl:376 [inlined]
[15] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[16] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[17] top-level scope
@ ~/.julia/packages/JACC/PLdGe/ext/CUDAExt/CUDAExt.jl:3
[18] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[19] 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:3028
[20] top-level scope
@ stdin:5
[21] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[22] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[23] include_string
@ ./loading.jl:2884 [inlined]
[24] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[25] _start()
@ Base ./client.jl:550
in expression starting at /Users/eschnett/.julia/packages/JACC/PLdGe/ext/CUDAExt/CUDAExt.jl:1
in expression starting at stdin:5
(@v1.12) pkg> status
Status `~/.julia/environments/v1.12/Project.toml`
[6e4b80f9] BenchmarkTools v1.8.0
[12aac903] BinaryBuilder v0.6.6
[7f725544] BinaryBuilderBase v1.44.0
[052768ef] CUDA v6.1.0
[13f3f980] CairoMakie v0.15.11
[e30172f5] Documenter v1.17.0
[0c68f7d7] GPUArrays v11.5.4
[61eb1bfa] GPUCompiler v1.16.1
[51b4e782] H5Zbitshuffle v0.1.3
[f67ccb44] HDF5 v0.17.3
[0979c8fe] JACC v1.3.0
⌅ [682c06a0] JSON v0.21.4
[98e50ef6] JuliaFormatter v2.5.6
[7a12625a] LinearMaps v3.11.4
[da04e1cc] MPI v0.20.26
[3da0fdf6] MPIPreferences v0.1.12
[dde4c033] Metal v1.9.3
[bdf0d083] MultiFloats v3.2.6
[08131aa3] OpenCL v0.10.9
[295af30f] Revise v3.14.5
[29c08b6a] RunBinary v0.1.3
[efcf1570] Setfield v1.1.2
[65edfddc] SixelTerm v1.3.0
[90137ffa] StaticArrays v1.9.18
[ebadf6b4] UnicodeGraphics v0.2.2
[b8865327] UnicodePlots v3.8.3
[627d6b7a] pocl_jll v7.1.1+0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`
I am using
JACC 1.2 is working fine for me, JACC 1.3 is not:
Note that I'm running
Pkg.update()which should subsume the suggestedPkg.instantiate().