JuliaDynamics / DynamicalSystems.jl

Award winning software library for nonlinear dynamics and nonlinear timeseries analysis

Home Page:https://juliadynamics.github.io/DynamicalSystemsDocs.jl/dynamicalsystems/dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Failed to precompile due to DiffEqBase

PhyX-Meow opened this issue · comments

Describe the bug
Precompile of the package failed after a recent update.

Update log:

    Updating `~/.julia/environments/v1.7/Project.toml`
  [6e4b80f9] ↑ BenchmarkTools v1.2.1 ⇒ v1.2.2
  [9b87118b] ↑ PackageCompiler v2.0.2 ⇒ v2.0.3
  [295af30f] ↑ Revise v3.1.20 ⇒ v3.2.0
    Updating `~/.julia/environments/v1.7/Manifest.toml`
  [6e4b80f9] ↑ BenchmarkTools v1.2.1 ⇒ v1.2.2
  [864edb3b] ↑ DataStructures v0.18.10 ⇒ v0.18.11
  [6e36e845] ↑ DynamicalSystemsBase v2.3.2 ⇒ v2.3.3
  [3362f125] ↑ ManifoldsBase v0.12.9 ⇒ v0.12.10
  [8913a72c] ↑ NonlinearSolve v0.3.11 ⇒ v0.3.12
  [1dea7af3] ↑ OrdinaryDiffEq v5.68.0 ⇒ v5.69.0
  [9b87118b] ↑ PackageCompiler v2.0.2 ⇒ v2.0.3
  [295af30f] ↑ Revise v3.1.20 ⇒ v3.2.0
  [0bca4576] ↑ SciMLBase v1.19.5 ⇒ v1.20.0
  [47a9eef4] ↑ SparseDiffTools v1.18.1 ⇒ v1.18.3

Precompile log:

julia> using DynamicalSystems
[ Info: Precompiling DynamicalSystems [61744808-ddfa-5f27-97ff-6e42cc95d634]
ERROR: LoadError: UndefVarError: DiffEqBase not defined
Stacktrace:
 [1] include
   @ ./Base.jl:418 [inlined]
 [2] 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, UInt64}}, source::String)
   @ Base ./loading.jl:1318
 [3] top-level scope
   @ none:1
 [4] eval
   @ ./boot.jl:373 [inlined]
 [5] eval(x::Expr)
   @ Base.MainInclude ./client.jl:453
 [6] top-level scope
   @ none:1
in expression starting at /home/wuli/.julia/packages/ChaosTools/hpoM2/src/ChaosTools.jl:1
ERROR: LoadError: Failed to precompile ChaosTools [608a59af-f2a3-5ad4-90b4-758bdf3122a7] to /home/wuli/.julia/compiled/v1.7/ChaosTools/jl_hXgTBp.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:418 [inlined]
  [8] 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, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /home/wuli/.julia/packages/DynamicalSystems/quIMb/src/DynamicalSystems.jl:1
ERROR: Failed to precompile DynamicalSystems [61744808-ddfa-5f27-97ff-6e42cc95d634] to /home/wuli/.julia/compiled/v1.7/DynamicalSystems/jl_Vb5Olx.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997

Package versions

Please provide the versions you use. To do this, run the code:

      Status `~/.julia/environments/v1.7/Manifest.toml`
  [608a59af] ChaosTools v2.6.1
  [5732040d] DelayEmbeddings v2.0.2
  [61744808] DynamicalSystems v2.1.3
  [6e36e845] DynamicalSystemsBase v2.3.3
  [ed8fcbec] Entropies v1.1.1
  [639c3291] RecurrenceAnalysis v1.6.3

I notice the error says

ERROR: LoadError: UndefVarError: DiffEqBase not defined

So something must go wrong here.

Think found reason of this, line 13 of
https://github.com/JuliaDynamics/ChaosTools.jl/blob/master/src/ChaosTools.jl

using DynamicalSystemsBase.DiffEqBase: AbstractODEIntegrator, u_modified!, DEIntegrator

But now it has been changed to SciMLBase in
JuliaDynamics/DynamicalSystemsBase.jl#130

I have the same problem. It seems that ChasTools.jl needs DiffEqBase after all. ContinuousCallbacks is not included in SciMLBase and is needed by transit_time_statistics.jl.

you can add explicitly DynamicalSystemsBase 2.3.2 in the meantime and it will work for you.

I have the same problem. It seems that ChasTools.jl needs DiffEqBase after all. ContinuousCallbacks is not included in SciMLBase and is needed by transit_time_statistics.jl.

I'm moving ContinuousCallbacks over today BTW since Trixi wanted the same thing.