JuliaDynamics/DynamicalSystems.jl

Problem in precompiling DynamicalSystems.jl

Closed this issue · 3 comments

I have a very specific scenario. I am trying to run my code in one of my departments machines, all of which run on linux (I am not sure of the version, though). All of them have julia installed, but only one of them has internet access, so I use this one to dowload packages via ]add and, then, I copy the .julia folder into the machine in which I will run the code. Fact is, the machine which downloads the code has julia (v1.5.3), whereas the other ones have julia (v1.4.1). Thus, in julia (v1.5.3) I enter Pkg and use activate @v1.4 to dowload the corresponding version. This whole proccess, though cumbersome, worked very well until now. Today I added the package Statistics and did the whole thing again. In the first machine (that in which I downloaded it), all works well, but when I move the whole thing to the other machine, DynamicalSystem simply do not compile (but the other packages do).

If i type using DynamicalSystem, I get:

[ Info: Precompiling DynamicalSystems [61744808-ddfa-5f27-97ff-6e42cc95d634]
ERROR: LoadError: LoadError: syntax: invalid keyword argument syntax "rtol"
Stacktrace:
[1] top-level scope at /home/users/lucas/.julia/packages/DelayEmbeddings/YUBxV/src/traditional_de/automated.jl:3
[2] include(::Module, ::String) at ./Base.jl:377
[3] include(::String) at /home/users/lucas/.julia/packages/DelayEmbeddings/YUBxV/src/DelayEmbeddings.jl:5
[4] top-level scope at /home/users/lucas/.julia/packages/DelayEmbeddings/YUBxV/src/DelayEmbeddings.jl:15
[5] include(::Module, ::String) at ./Base.jl:377
[6] top-level scope at none:2
[7] eval at ./boot.jl:331 [inlined]
[8] eval(::Expr) at ./client.jl:449
[9] top-level scope at ./none:3
in expression starting at /home/users/lucas/.julia/packages/DelayEmbeddings/YUBxV/src/traditional_de/automated.jl:3
in expression starting at /home/users/lucas/.julia/packages/DelayEmbeddings/YUBxV/src/DelayEmbeddings.jl:15
ERROR: LoadError: Failed to precompile DelayEmbeddings [5732040d-69e3-5649-938a-b6b4f237613f] to /home/users/lucas/.julia/compiled/v1.4/DelayEmbeddings/gqYQy_f9uOD.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
[6] include(::Module, ::String) at ./Base.jl:377
[7] top-level scope at none:2
[8] eval at ./boot.jl:331 [inlined]
[9] eval(::Expr) at ./client.jl:449
[10] top-level scope at ./none:3
in expression starting at /home/users/lucas/.julia/packages/DynamicalSystems/wmGZ0/src/DynamicalSystems.jl:12
ERROR: Failed to precompile DynamicalSystems [61744808-ddfa-5f27-97ff-6e42cc95d634] to /home/users/lucas/.julia/compiled/v1.4/DynamicalSystems/TY1vN_f9uOD.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922

Also, when I try in Pkg test DynamicalSystems, it returns:

Testing DynamicalSystems
┌ Error: Pkg.Resolve.ResolverError("Unsatisfiable requirements detected for package DelayEmbeddings [5732040d]:\n DelayEmbeddings [5732040d] log:\n ├─possible versions are: [0.1.0-0.1.1, 0.2.0, 0.3.0, 1.0.0-1.0.3, 1.1.0, 1.2.0, 1.3.0-1.3.1, 1.4.0-1.4.3, 1.5.0-1.5.1, 1.6.0-1.6.1, 1.7.0, 1.8.0, 1.9.0, 1.10.0-1.10.1, 1.11.0, 1.12.0-1.12.1, 1.13.0-1.13.1, 1.14.0-1.14.4, 1.15.0, 1.16.0-1.16.1, 1.17.0, 1.18.0, 1.19.0-1.19.3] or uninstalled\n ├─restricted to versions 1.19.3 by an explicit requirement, leaving only versions 1.19.3\n └─restricted by julia compatibility requirements to versions: [0.1.0-0.1.1, 0.2.0, 0.3.0, 1.0.0-1.0.3, 1.1.0, 1.2.0, 1.3.0-1.3.1, 1.4.0-1.4.3, 1.5.0-1.5.1, 1.6.0-1.6.1, 1.7.0, 1.8.0, 1.9.0, 1.10.0-1.10.1, 1.11.0] or uninstalled — no versions left", nothing)
└ @ Pkg.Operations /build/julia-pifKTc/julia-1.4.1+dfsg/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:1365
ERROR: Unsatisfiable requirements detected for package DelayEmbeddings [5732040d]:
DelayEmbeddings [5732040d] log:
├─possible versions are: [0.1.0-0.1.1, 0.2.0, 0.3.0, 1.0.0-1.0.3, 1.1.0, 1.2.0, 1.3.0-1.3.1, 1.4.0-1.4.3, 1.5.0-1.5.1, 1.6.0-1.6.1, 1.7.0, 1.8.0, 1.9.0, 1.10.0-1.10.1, 1.11.0, 1.12.0-1.12.1, 1.13.0-1.13.1, 1.14.0-1.14.4, 1.15.0, 1.16.0-1.16.1, 1.17.0, 1.18.0, 1.19.0-1.19.3] or uninstalled
├─restricted to versions 1.13.0-1 by an explicit requirement, leaving only versions [1.13.0-1.13.1, 1.14.0-1.14.4, 1.15.0, 1.16.0-1.16.1, 1.17.0, 1.18.0, 1.19.0-1.19.3]
└─restricted by julia compatibility requirements to versions: [0.1.0-0.1.1, 0.2.0, 0.3.0, 1.0.0-1.0.3, 1.1.0, 1.2.0, 1.3.0-1.3.1, 1.4.0-1.4.3, 1.5.0-1.5.1, 1.6.0-1.6.1, 1.7.0, 1.8.0, 1.9.0, 1.10.0-1.10.1, 1.11.0] or uninstalled — no versions left

But I could not determine the root of this problem nor a viable solution. Also, when I run in Pkg status, I get:

Status ~/.julia/environments/v1.4/Project.toml
[336ed68f] CSV v0.8.2
[a93c6f00] DataFrames v0.22.2
[0c46a032] DifferentialEquations v6.16.0
[61744808] DynamicalSystems v1.7.1
[91a5bcdd] Plots v1.10.1
[438e738f] PyCall v1.92.2
[10745b16] Statistics

It is noteworthy that I have used DynamicalSystems in this machine in the past, through the same proccess, which lead me to believe this is not a problem of the way I did things, but I can, of course, be wrong. What can be the cause of such a problem and how could I try to solve it?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Latest versions of DynamicalSystems.jl work on Julia 1.5, not on Julia 1.4. You can see this in the Project file: https://github.com/JuliaDynamics/DynamicalSystems.jl/blob/master/Project.toml#L23

If you want a version of DynamicalSystems.jl that supports 1.4, then you need to add this version to Julia 1.4. Although this version is going to be quite old I warn you. As long as you use Julia 1.5 to install packages, the versions compatible with 1.5 will be downloaded. These versions cannot run with Julia 1.4.

That does make sense, thanks for the explanation. Do you know which version of DynamicalSystems works with v1.4? As I have no other option for now, I will stick with this and as I only need some RQA functions, it should work well even if it is an older version.

as I only need some RQA functions

Then you are better of installing and using RecurrenceAnalysis instead of DynamicalSystems. It will reduce the amount of installed packages tremendously.

Do you know which version of DynamicalSystems works with v1.4?

Sorry, I don't remember. I also don't know how to check Simply download Julia 1.4 locally and add DynamicalSystems. You will see the version then.