SciML / DifferentialEquations.jl

Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
https://docs.sciml.ai/DiffEqDocs/stable/
Other
2.86k stars 228 forks source link

using DifferentialEquations.jl fails #327

Closed dlfivefifty closed 6 years ago

dlfivefifty commented 6 years ago

I just did a fresh `Pkg.add("DifferentialEquations") in 0.6.3 and get the following:

julia> using DifferentialEquations
INFO: Precompiling module DifferentialEquations.
ERROR: LoadError: LoadError: UndefVarError: AbstractPoissonFEMAlgorithm not defined
Stacktrace:
 [1] include_from_node1(::String) at ./loading.jl:576
 [2] include(::String) at ./sysimg.jl:14
 [3] include_from_node1(::String) at ./loading.jl:576
 [4] include(::String) at ./sysimg.jl:14
 [5] anonymous at ./<missing>:2
while loading /Users/sheehanolver/.julia/v0.6/FiniteElementDiffEq/src/algorithms.jl, in expression starting on line 1
while loading /Users/sheehanolver/.julia/v0.6/FiniteElementDiffEq/src/FiniteElementDiffEq.jl, in expression starting on line 12
ERROR: LoadError: Failed to precompile FiniteElementDiffEq to /Users/sheehanolver/.julia/lib/v0.6/FiniteElementDiffEq.ji.
Stacktrace:
 [1] compilecache(::String) at ./loading.jl:710
 [2] _require(::Symbol) at ./loading.jl:463
 [3] require(::Symbol) at ./loading.jl:405
 [4] include_from_node1(::String) at ./loading.jl:576
 [5] include(::String) at ./sysimg.jl:14
 [6] anonymous at ./<missing>:2
while loading /Users/sheehanolver/.julia/v0.6/DifferentialEquations/src/DifferentialEquations.jl, in expression starting on line 14
ERROR: Failed to precompile DifferentialEquations to /Users/sheehanolver/.julia/lib/v0.6/DifferentialEquations.ji.
Stacktrace:
 [1] compilecache(::String) at ./loading.jl:710
 [2] _require(::Symbol) at ./loading.jl:497
ChrisRackauckas commented 6 years ago

That's fresh? it shouldn't be required on DiffEq in v0.6.3 at all. I am not sure if I can test it out right now since I don't want to uninstall everything while at JuliaCon.

ChrisRackauckas commented 6 years ago

Can I get the Pkg.status()?

dlfivefifty commented 6 years ago
julia> Pkg.status()
10 required packages:
 - Atom                          0.6.16
 - BenchmarkTools                0.3.2
 - CLArrays                      0.1.3+             master
 - DifferentialEquations         2.3.0
 - DistributedArrays             0.4.0
 - IJulia                        1.9.1
 - Juno                          0.4.1
 - PkgDev                        0.2.1
 - Plots                         0.17.4
 - RandomMatrices                0.4.0
194 additional packages:
 - ASTInterpreter2               0.1.1
 - AbstractFFTs                  0.3.2
 - Adapt                         0.2.0
 - AlgebraicDiffEq               0.1.0
 - AlmostBandedMatrices          0.0.0-             master (unregistered)
 - ApproxFun                     0.8.1+             master
 - AssetRegistry                 0.0.2
 - AxisAlgorithms                0.3.0
 - AxisArrays                    0.2.1
 - BandedMatrices                0.5.0+             master
 - BinDeps                       0.8.8
 - BinaryProvider                0.3.3
 - Blink                         0.7.0
 - BlockArrays                   0.4.0+             master
 - BlockBandedMatrices           0.1.0+             master
 - CLBLAS                        1.2.0-             master
 - CLFFT                         0.5.2
 - Calculus                      0.4.0
 - CatIndices                    0.1.0
 - ChunkedArrays                 0.1.1
 - CodeTools                     0.5.1
 - ColorTypes                    0.6.7
 - ColorVectorSpace              0.5.2
 - Colors                        0.8.2
 - Combinatorics                 0.6.0
 - CommonSubexpressions          0.1.0
 - Compat                        1.0.0
 - ComplexPhasePortrait          0.0.0-             master (unregistered)
 - ComputationalResources        0.2.0
 - Conda                         1.0.0
 - Contour                       0.4.0
 - CoordinateTransformations     0.5.0
 - CustomUnitRanges              0.1.0
 - DSP                           0.5.0
 - DataStructures                0.8.4
 - DebuggerFramework             0.1.2
 - DelayDiffEq                   3.6.0
 - DiffBase                      0.3.2
 - DiffEqBase                    3.13.3
 - DiffEqBiological              2.3.2
 - DiffEqCallbacks               1.1.1
 - DiffEqDevTools                1.0.2
 - DiffEqDiffTools               0.4.1
 - DiffEqFinancial               1.0.1
 - DiffEqJump                    4.5.1
 - DiffEqMonteCarlo              0.10.1
 - DiffEqNoiseProcess            1.0.2
 - DiffEqOperators               1.3.0
 - DiffEqPDEBase                 0.4.0
 - DiffEqParamEstim              1.1.2
 - DiffEqSensitivity             1.2.0
 - DiffEqUncertainty             0.1.0
 - DiffResults                   0.0.3
 - DiffRules                     0.0.6
 - DimensionalPlotRecipes        0.0.2
 - Distances                     0.6.0
 - Distributions                 0.15.0
 - DocSeeker                     0.1.0
 - Domains                       0.0.0-             dl/approxfun (unregistered)
 - DualNumbers                   0.4.0
 - EllipsisNotation              0.3.0
 - FFTViews                      0.1.0
 - FFTW                          0.0.4
 - FastGaussQuadrature           0.3.1              master
 - FastTransforms                0.4.0+             master
 - FileIO                        0.9.1
 - FillArrays                    0.1.0              master
 - FiniteElementDiffEq           0.5.0
 - FixedPointNumbers             0.4.6
 - ForwardDiff                   0.7.5
 - FunctionWrappers              0.1.0
 - FunctionalCollections         0.3.2
 - GPUArrays                     0.2.4+             master
 - GR                            0.31.0
 - GSL                           0.3.6
 - GenericSVD                    0.1.0
 - Graphics                      0.3.0
 - Hiccup                        0.1.1
 - HierarchicalMatrices          0.1.2              master
 - Homebrew                      0.6.4
 - HttpCommon                    0.4.0
 - HttpParser                    0.4.0
 - HttpServer                    0.3.1
 - IdentityRanges                0.1.0
 - ImageAxes                     0.4.0
 - ImageCore                     0.6.0
 - ImageDistances                0.0.2
 - ImageFiltering                0.3.0
 - ImageMetadata                 0.4.1
 - ImageMorphology               0.0.2
 - ImageTransformations          0.4.2
 - Images                        0.14.0
 - IndirectArrays                0.4.2
 - InfiniteArrays                0.0.0-             master (unregistered)
 - Interpolations                0.7.3
 - IntervalSets                  0.2.0+             dl/open
 - IterTools                     0.2.1
 - IterativeSolvers              0.6.0
 - IteratorInterfaceExtensions   0.0.2
 - JSExpr                        0.2.1
 - JSON                          0.17.2
 - LNR                           0.0.2
 - Lazy                          0.12.1
 - LazyArrays                    0.0.0-             master (unregistered)
 - LearnBase                     0.1.6
 - LineSearches                  3.2.5
 - LinearAlgebra                 0.0.0-             master (unregistered)
 - LinearMaps                    1.0.4
 - LossFunctions                 0.2.0
 - LowRankApprox                 0.1.3+             master
 - LsqFit                        0.3.0
 - MacroTools                    0.4.2
 - MappedArrays                  0.0.7
 - Matcha                        0.1.1
 - MbedTLS                       0.5.12
 - Measures                      0.2.0
 - Media                         0.3.0
 - Missings                      0.2.10
 - MuladdMacro                   0.0.2
 - MultiScaleArrays              0.7.1
 - MultivariateOrthogonalPolynomials 0.0.0-             master (unregistered)
 - Mustache                      0.3.3
 - Mux                           0.3.1
 - NLSolversBase                 4.4.1
 - NLsolve                       1.0.1
 - NaNMath                       0.3.1
 - NamedTuples                   4.0.2
 - Nullables                     0.0.6
 - Observables                   0.1.2
 - OffsetArrays                  0.6.0
 - OpenCL                        0.7.0
 - Optim                         0.14.1
 - OptimBase                     1.0.0
 - OrdinaryDiffEq                3.21.0
 - OscillatoryIntegrals          0.0.0-             master (unregistered)
 - PDMats                        0.8.0
 - PaddedViews                   0.3.0
 - ParameterizedFunctions        3.1.0
 - Parameters                    0.9.1
 - PenaltyFunctions              0.0.2
 - Pidfile                       1.0.0
 - PlotThemes                    0.2.0
 - PlotUtils                     0.4.4
 - PoissonRandom                 0.0.1
 - Polynomials                   0.4.0
 - PositiveFactorizations        0.1.0
 - Primes                        0.3.0
 - ProgressMeter                 0.5.6
 - QuadGK                        0.3.0
 - RandomNumbers                 0.1.1
 - RangeArrays                   0.2.0
 - RatFun                        0.0.0-             master (unregistered)
 - Ratios                        0.2.0
 - RecipesBase                   0.3.1
 - RecursiveArrayTools           0.15.0
 - Reexport                      0.1.0
 - Requires                      0.4.4
 - ResettableStacks              0.3.1
 - RiemannHilbert                0.0.0-             master (unregistered)
 - Rmath                         0.4.0
 - Roots                         0.6.0
 - Rotations                     0.7.2
 - SHA                           0.5.7
 - SIUnits                       0.1.0
 - SO                            0.0.0-             master (unregistered)
 - ShowItLikeYouBuildIt          0.2.0
 - Showoff                       0.2.0
 - SimpleTraits                  0.6.0
 - SingularIntegralEquations     0.3.2+             development
 - SortingAlgorithms             0.2.1
 - SpecialFunctions              0.6.0
 - SpectralMeasures              0.0.0-             master (unregistered)
 - StaticArrays                  0.7.2
 - StatsBase                     0.23.1
 - StatsFuns                     0.6.1
 - SteadyStateDiffEq             0.4.0
 - StochasticDiffEq              4.4.5
 - StringDistances               0.2.1
 - Sugar                         0.4.5
 - Sundials                      1.6.0
 - SymEngine                     0.4.1
 - TableTraits                   0.2.0
 - TexExtensions                 0.1.0
 - TiledIteration                0.1.0
 - ToeplitzMatrices              0.4.1              master
 - Tokenize                      0.4.2
 - Transpiler                    0.4.6+             sd/funcprototypes
 - URIParser                     0.3.1
 - VectorizedRoutines            0.0.2
 - VersionParsing                1.1.1
 - WebIO                         0.2.5
 - WebSockets                    0.5.0
 - WoodburyMatrices              0.3.0
 - ZMQ                           0.6.3
ChrisRackauckas commented 6 years ago

I have no idea why you have DifferentialEquations.jl 2.3.0, but you should have 4.5.0 in a fresh install. This doesn't look like a fresh install though: there's a bunch of other pinned packages. I don't know if that actually caused something to downgrade or if it's just a v0.6 resolver bug.

dlfivefifty commented 6 years ago

Ah, "fresh" was not the right word: "fresh" as in I didn't have DifferentialEquations.jl and then called Pkg.add("DifferentialEquations").

I'll try later with an actual fresh install.

dlfivefifty commented 6 years ago

Though I guess the actual issue is a missing upper bound somewhere in METADATA: DifferentialEquations.jl v2.3 should work.

ChrisRackauckas commented 6 years ago

No, if I put the upper bound then all of METADATA breaks, so it can't be there. Upper bounds isn't friendly to the Pkg2 resolver.

ChrisRackauckas commented 6 years ago

Closing this as specific to the master branches chosen there. A clean build should work though, and sometimes the Pkg2 resolver breaks but that's an upstream issue. v0.7/v1.0 shouldn't have any issues though given the new environments setup.

pjgorski commented 6 years ago

Hi, my issue is similar to the above, so I put my post here.

Everything had worked fine until today I made few updates: updated Atom.jl, added one package ("MAT"), clicked Pkg.update(). Currently I am on Julia 0.6.4.

From now on, the code fails on 'using DifferentialEquations'. Part of error message:

INFO: Precompiling module DifferentialEquations. WARNING: Module DataStructures with uuid 174515684151649 is missing from the cache. This may mean module DataStructures does not support precompilation but is imported by a module that does. ERROR: LoadError: Declaring precompile(false) is not allowed in files that are being precompiled. (...) while loading /home/pgorski/.julia/v0.6/DiffEqNoiseProcess/src/DiffEqNoiseProcess.jl, in expression starting on line 5 ERROR: LoadError: Failed to precompile DiffEqNoiseProcess to /home/pgorski/.julia/lib/v0.6/DiffEqNoiseProcess.ji. (...) while loading /home/pgorski/.julia/v0.6/DifferentialEquations/src/DifferentialEquations.jl, in expression starting on line 9 ERROR: LoadError: Failed to precompile DifferentialEquations to /home/pgorski/.julia/lib/v0.6/DifferentialEquations.ji.

DifferentialEquations also fails tests:

julia> Pkg.test("DifferentialEquations") INFO: Computing test dependencies for DifferentialEquations... INFO: Cloning cache of DiffEqProblemLibrary from https://github.com/JuliaDiffEq/DiffEqProblemLibrary.jl.git INFO: Installing DiffEqProblemLibrary v2.5.0 INFO: Building DiffEqBase (...) INFO: Building SpecialFunctions INFO: Building SymEngine Info: Found a valid dl path libgmp.so while looking for libmpfr (...) Info: /home/pgorski/.julia/v0.6/SymEngine/deps/symengine-0.3/lib/libmpfr.so matches our search criteria of libmpfr Info: Found a valid dl path libgmp.so while looking for libgmp Info: /home/pgorski/.julia/v0.6/SymEngine/deps/symengine-0.3/lib/libgmp.so matches our search criteria of libgmp Info: Found a valid dl path libgmp.so while looking for libsymengine (...) Info: /home/pgorski/.julia/v0.6/SymEngine/deps/symengine-0.3/lib/libsymengine.so matches our search criteria of libsymengine Info: Found a valid dl path libgmp.so while looking for libmpc (...) Info: /home/pgorski/.julia/v0.6/SymEngine/deps/symengine-0.3/lib/libmpc.so matches our search criteria of libmpc INFO: Building RandomNumbers g++ -shared -fPIC -O3 -maes aesni.cpp ars.cpp -o librandom123.so INFO: Testing DifferentialEquations Starting tests Test Summary: | Pass Total Default Discrete Algorithm | 1 1 3.804607 seconds (2.22 M allocations: 123.514 MiB, 1.32% gc time) Test Summary: | Pass Total Default ODE Algorithm | 21 21 217.452485 seconds (147.65 M allocations: 13.034 GiB, 1.62% gc time) Test Summary: | Pass Total Default Steady State Algorithm | 1 1 13.981563 seconds (12.35 M allocations: 580.785 MiB, 1.85% gc time) Default SDE Algorithm: Test Failed Expression: typeof(sol.alg) <: EM Stacktrace: [1] include_from_node1(::String) at ./loading.jl:576 [2] include(::String) at ./sysimg.jl:14 [3] macro expansion at /home/pgorski/.julia/v0.6/DifferentialEquations/test/runtests.jl:8 [inlined] [4] macro expansion at ./test.jl:860 [inlined] [5] macro expansion at ./util.jl:237 [inlined] [6] anonymous at ./:? Default SDE Algorithm: Test Failed Expression: typeof(sol.alg) <: EulerHeun Stacktrace: [1] include_from_node1(::String) at ./loading.jl:576 [2] include(::String) at ./sysimg.jl:14 [3] macro expansion at /home/pgorski/.julia/v0.6/DifferentialEquations/test/runtests.jl:8 [inlined] [4] macro expansion at ./test.jl:860 [inlined] [5] macro expansion at ./util.jl:237 [inlined] [6] anonymous at ./:? Test Summary: | Pass Fail Total Default SDE Algorithm | 6 2 8 ERROR: LoadError: Some tests did not pass: 6 passed, 2 failed, 0 errored, 0 broken. while loading /home/pgorski/.julia/v0.6/DifferentialEquations/test/runtests.jl, in expression starting on line 8 =====================================================================================[ ERROR: DifferentialEquations ]======================================================================================

failed process: Process(/home/pgorski/julia-9d11f62bcb/bin/julia -Cgeneric -J/home/pgorski/julia-9d11f62bcb/lib/julia/sys.so --compile=yes --depwarn=yes --check-bounds=yes --code-coverage=none --color=yes --compilecache=yes /home/pgorski/.julia/v0.6/DifferentialEquations/test/runtests.jl, ProcessExited(1)) [1] (...)

Part of Pkg.status():

julia> Pkg.status() 5 required packages:

  • Atom 0.6.16
  • BenchmarkTools 0.3.2
  • DifferentialEquations 4.5.0
  • MAT 0.4.0
  • Plots 0.17.4 127 additional packages: (...)
  • DataStructures 0.8.4
  • DebuggerFramework 0.1.2
  • DelayDiffEq 3.6.0
  • DiffBase 0.3.2
  • DiffEqBase 3.13.3
  • DiffEqBiological 2.3.2
  • DiffEqCallbacks 1.1.1
  • DiffEqDevTools 1.0.2
  • DiffEqDiffTools 0.4.1
  • DiffEqFinancial 1.0.1
  • DiffEqJump 4.5.1
  • DiffEqMonteCarlo 0.10.1
  • DiffEqNoiseProcess 1.0.2
  • DiffEqOperators 1.3.0
  • DiffEqPDEBase 0.4.0
  • DiffEqParamEstim 1.1.2
  • DiffEqPhysics 1.0.0
  • DiffEqSensitivity 1.2.0
  • DiffEqUncertainty 0.1.0
  • DiffResults 0.0.3
  • DiffRules 0.0.7 (...)
  • GR 0.32.3
  • GenericSVD 0.1.0 (...)
  • NLSolversBase 4.4.1
  • NLsolve 1.0.1
  • NaNMath 0.3.2
  • NamedTuples 4.0.2
  • Nullables 0.0.7
  • Observables 0.1.2
  • Optim 0.14.1
  • OptimBase 1.0.0
  • OrdinaryDiffEq 3.21.0
  • PDMats 0.8.0 (...)
  • StaticArrays 0.7.2
  • StatsBase 0.23.1
  • StatsFuns 0.6.1
  • SteadyStateDiffEq 0.4.0
  • StochasticDiffEq 4.4.5
  • StringDistances 0.2.1
  • Sundials 1.6.0
  • SymEngine 0.4.2 (...)
ChrisRackauckas commented 6 years ago

Those are two different things. The first just requires that you start Julia: it cannot recompile files which are still in use. The second part is that SymEngine didn't build properly on your system. Re-run Pkg.build("SymEngine") and if it fails then you might want to report to SymEngine.jl, though they are probably on master now.

pjgorski commented 6 years ago

Thanks! (Before posting I have restarted Julia. )

After running Pkg.build("SymEngine") and restarting ones again, everything works fine.