Skip to content

Precompilation error: solve method overwrite between SciMLBase and DiffEqBase (clean depot + temp project, Julia 1.11.6, macOS/Apple Silicon)Β #1103

@taliaborofsky

Description

@taliaborofsky

Description

I’m hitting a precompilation failure due to a solve method overwrite between SciMLBase and DiffEqBase. This occurs even in a fully isolated session (fresh depot, temp project, no startup file), both when adding DifferentialEquations and when adding OrdinaryDiffEq directly. I had not had the issue before today.

Minimal Reproducible Example πŸ‘‡

# Terminal (macOS). This guarantees no leakage from ~/.julia and no startup file.
JULIA_DEPOT_PATH="$(mktemp -d)" JULIA_LOAD_PATH=@ JULIA_PKG_SERVER="" \
julia --startup-file=no -q
] activate --temp
] registry add General
] add DifferentialEquations
using DifferentialEquations  # <-- Also triggers the same overwrite during precompile

Error & Stacktrace ⚠️

first few lines:

[ Info: Precompiling DifferentialEquations [...]
WARNING: Method definition solve(SciMLBase.EnsembleProblem{T, T2, T3, T4, T5} where T5 where T4 where T3 where T2 where T, Any...) in module SciMLBase at ~/.julia/packages/SciMLBase/.../basic_ensemble_solve.jl:356
         overwritten in module DiffEqBase at ~/.julia/packages/DiffEqBase/.../solve.jl:1224.
ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.

it does this also while precompile DiffEqBase. then when precompiling DiffEqNoiseProcess,

Info Given DiffEqNoiseProcess was explicitly requested, output will be shown live 
β”Œ Warning: Module DiffEqBase with build ID ffffffff-ffff-ffff-fc27-e6e18de9fdec is missing from the cache.eDistributionsExt
β”‚ This may mean DiffEqBase [2b5f629d-d688-5b77-993f-72d75c75574e] does not support precompilation but is imported by a module that does.
β”” @ Base loading.jl:2541
  ? DiffEqBase
  ? DiffEqBase β†’ DiffEqBaseForwardDiffExt
  ? DiffEqBase β†’ DiffEqBaseDistributionsExt
  ? DiffEqBase β†’ DiffEqBaseSparseArraysExt
  ? DiffEqNoiseProcess
[ Info: Precompiling DiffEqNoiseProcess [77a26b50-5914-5dd7-bc55-306e6241c503] 
β”Œ Warning: Module DiffEqBase with build ID ffffffff-ffff-ffff-fc27-e6e18de9fdec is missing from the cache.
β”‚ This may mean DiffEqBase [2b5f629d-d688-5b77-993f-72d75c75574e] does not support precompilation but is imported by a module that does.
β”” @ Base loading.jl:2541
β”Œ Info: Skipping precompilation due to precompilable error. Importing DiffEqNoiseProcess [77a26b50-5914-5dd7-bc55-306e6241c503].
β””   exception = Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.

It goes on to do this warning for many modules. (I'm going to attach the full error in a txt file)

  • Output of using Pkg; Pkg.status()
Status `<name of folder this is stored in >/Project.toml`
  [0c46a032] DifferentialEquations v7.16.1
  [b964fa9f] LaTeXStrings v1.4.0
  [442fdcdd] Measures v0.3.2
  [91a5bcdd] Plots v1.40.19
  [f27b6e38] Polynomials v4.1.0
  [295af30f] Revise v3.9.0
  [3a884ed6] UnPack v1.0.2
  [37e2e46d] LinearAlgebra v1.11.0

  • Output of versioninfo()
Julia Version 1.11.6
Commit 9615af0f269 (2025-07-09 12:58 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-16.0.6 (ORCJIT, apple-m2)
Threads: 1 default, 0 interactive, 1 GC (on 6 virtual cores)

Additional context

the full error output is in the attached txt document

error.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions