LinearSolveCUDAExt fails to compile

Thank you. My project compiles fine with an update now.

This update still causes a downgrade (not sure if intended) but it doesn’t cause compile errors for my broader real world project so I’ll let it be:

⌃ [7ed4a6bd] ↓ LinearSolve v3.41.0 ⇒ v3.28.0
(Test) pkg> st -m --outdated
Project Test v0.1.0
Status `~/workspace/Test/Manifest.toml`
⌅ [8be319e6] Chain v0.6.0 (<v1.0.0): DataFramesMeta
⌅ [864edb3b] DataStructures v0.18.22 (<v0.19.1): Dash, Sundials
⌅ [abce61dc] Decimals v0.4.1 (<v0.5.1): LibPQ
⌅ [682c06a0] JSON v0.21.4 (<v1.0.0): AssetRegistry, BenchmarkTools, Conda, Dash, JSExpr, PlotlyBase, PlotlyJS, PlotlyKaleido, WebIO
⌃ [7ed4a6bd] LinearSolve v3.28.0 (<v3.41.0)
⌅ [aea7be01] PrecompileTools v1.2.1 (<v1.3.3): julia
⌅ [c3572dad] Sundials v4.28.0 (<v5.0.0): DifferentialEquations
⌅ [30392449] Pixman_jll v0.44.2+0 (<v0.46.4+0): Cairo_jll
⌅ [fb77eaff] Sundials_jll v5.2.3+0 (<v7.4.1+1): Sundials

Another similar issue, with DiffEqGPU and CUDAExt. Simple steps to reproduce:

(@v1.12) pkg> activate Test                                                                                                                                                                         
  Activating new project at `~/workspace/Test`                                                                                                                                                      
 
(Test) pkg> add DiffEqGPU, CUDA                                                                                                                                                                     
   Resolving package versions...                                                                                                                                                                    
   Installed PreallocationTools ─ v1.1.2                                                                                                                                                            
   Installed NonlinearSolveBase ─ v2.12.0                                                                                                                                                           
    Updating `~/workspace/Test/Project.toml`                                                                                                                                                        
  [052768ef] + CUDA v5.9.6                                                                                                                                                                          
  [071ae1c0] + DiffEqGPU v3.9.0                                                                                                                                                                     
    Updating `~/workspace/Test/Manifest.toml`                 
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
  ✗ DiffEqGPU
  ✗ DiffEqGPU → CUDAExt
Precompiling packages finished.
  36 dependencies successfully precompiled in 53 seconds. 207 already precompiled.
  2 dependencies errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`
 
julia> err
PkgPrecompileError: The following 2 direct dependencies failed to precompile:
 
DiffEqGPU 
 
Failed to precompile DiffEqGPU [071ae1c0-96b5-11e9-1965-c90190d839ea] to "/home/sob/.julia/compiled/v1.12/DiffEqGPU/jl_BuPqFL".
ERROR: LoadError: UndefVarError: `determine_event_occurrence` not defined in `DiffEqBase`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
  [1] getproperty(x::Module, f::Symbol)
    @ Base ./Base_compiler.jl:47
  [2] top-level scope
    @ ~/.julia/packages/DiffEqGPU/JsBHq/src/ensemblegpukernel/integrators/integrator_utils.jl:373
  [3] include(mapexpr::Function, mod::Module, _path::String)
    @ Base ./Base.jl:307
  [4] top-level scope
    @ ~/.julia/packages/DiffEqGPU/JsBHq/src/DiffEqGPU.jl:49
  [5] include(mod::Module, _path::String)
    @ Base ./Base.jl:306
  [6] 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:3024
  [7] top-level scope
    @ stdin:5
  [8] eval(m::Module, e::Any)
    @ Core ./boot.jl:489
  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:2870
 [10] include_string
    @ ./loading.jl:2880 [inlined]
 [11] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:315
 [12] _start()
    @ Base ./client.jl:550
in expression starting at /home/sob/.julia/packages/DiffEqGPU/JsBHq/src/ensemblegpukernel/integrators/integrator_utils.jl:373
in expression starting at /home/aob/.julia/packages/DiffEqGPU/JsBHq/src/DiffEqGPU.jl:1
in expression starting at stdin:5
DiffEqGPU → CUDAExt 
 
Failed to precompile CUDAExt [3a3108e9-14c8-5fc9-b10e-631a07241da0] to "/home/sob/.julia/compiled/v1.12/CUDAExt/jl_MAKeWM".
ERROR: LoadError: UndefVarError: `determine_event_occurrence` not defined in `DiffEqBase`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
  [1] getproperty(x::Module, f::Symbol)
    @ Base ./Base_compiler.jl:47
  [2] top-level scope
    @ ~/.julia/packages/DiffEqGPU/JsBHq/src/ensemblegpukernel/integrators/integrator_utils.jl:373
  [3] include(mapexpr::Function, mod::Module, _path::String)
    @ Base ./Base.jl:307
  [4] top-level scope
    @ ~/.julia/packages/DiffEqGPU/JsBHq/src/DiffEqGPU.jl:49
  [5] include(mod::Module, _path::String)
    @ Base ./Base.jl:306
  [6] 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:3024
  [7] top-level scope
    @ stdin:5
  [8] eval(m::Module, e::Any)
    @ Core ./boot.jl:489
  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:2870
 [10] include_string
    @ ./loading.jl:2880 [inlined]
 [11] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:315
 [12] _start()
    @ Base ./client.jl:550
in expression starting at /home/sob/.julia/packages/DiffEqGPU/JsBHq/src/ensemblegpukernel/integrators/integrator_utils.jl:373
in expression starting at /home/sob/.julia/packages/DiffEqGPU/JsBHq/src/DiffEqGPU.jl:1
in expression starting at stdin:5
ERROR: LoadError: Failed to precompile DiffEqGPU [071ae1c0-96b5-11e9-1965-c90190d839ea] to "/home/sob/.julia/compiled/v1.12/DiffEqGPU/jl_ecKtMs".
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:3311
  [3] (::Base.var"#__require_prelocked##0#__require_prelocked##1"{Base.PkgId, String, Dict{String, Int64}})()
    @ Base ./loading.jl:2679
  [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.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:93
  [5] #mkpidlock#7
    @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:88 [inlined]
  [6] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/FileWatching/src/pidfile.jl:114
  [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:3882
 [10] maybe_cachefile_lock
    @ ./loading.jl:3879 [inlined]
 [11] __require_prelocked(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:2665
 [12] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:2493
 [13] macro expansion
    @ ./loading.jl:2421 [inlined]
 [14] macro expansion
    @ ./lock.jl:376 [inlined]
 [15] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2386
 [16] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:2362
 [17] top-level scope
    @ ~/.julia/packages/DiffEqGPU/JsBHq/ext/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:3024
 [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:2870
 [23] include_string
    @ ./loading.jl:2880 [inlined]
 [24] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:315
 [25] _start()
    @ Base ./client.jl:550
in expression starting at /home/sob/.julia/packages/DiffEqGPU/JsBHq/ext/CUDAExt.jl:1
in expression starting at stdin:5
 
julia>

Yes sorry being handled in Update event handling for DiffEqBase.jl #1274 API changes by ChrisRackauckas-Claude · Pull Request #402 · SciML/DiffEqGPU.jl · GitHub

Thank you Chris. Compiles fine now.