ERROR: OrdinaryDiffEq can't be installed because it has no versions that support 0.6.2 of julia

question

#1

This is somewhat cryptic. After a Pkg.update(),

julia> Pkg.checkout("NLSolversBase")
INFO: Checking out NLSolversBase master...
INFO: Pulling NLSolversBase latest master...
ERROR: OrdinaryDiffEq can't be installed because it has no versions that support 0.6.2 of julia. You may need to update METADATA by running `Pkg.update()`
Stacktrace:
 [1] resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}, ::Dict{String,VersionNumber}, ::Set{String}) at ./pkg/entry.jl:486
 [2] resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}) at ./pkg/entry.jl:479
 [3] (::Base.Pkg.Entry.##16#18{String,String,Bool,Bool})(::Base.LibGit2.GitRepo) at ./pkg/entry.jl:236
 [4] transact(::Base.Pkg.Entry.##16#18{String,String,Bool,Bool}, ::Base.LibGit2.GitRepo) at ./libgit2/libgit2.jl:882
 [5] with(::Base.Pkg.Entry.##15#17{String,String,Bool,Bool}, ::Base.LibGit2.GitRepo) at ./libgit2/types.jl:608
 [6] checkout(::String, ::String, ::Bool, ::Bool) at ./pkg/entry.jl:226
 [7] (::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#checkout,Tuple{String,String,Bool,Bool}})() at ./pkg/dir.jl:36
 [8] cd(::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#checkout,Tuple{String,String,Bool,Bool}}, ::String) at ./file.jl:70
 [9] #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N} where N) at ./pkg/dir.jl:36
 [10] #checkout#1(::Bool, ::Bool, ::Function, ::String, ::String) at ./pkg/pkg.jl:188
 [11] checkout(::String) at ./pkg/pkg.jl:188

julia> Pkg.status("NLSolversBase")
 - NLSolversBase                 4.0.0+             master

julia> Pkg.status("OrdinaryDiffEq")
 - OrdinaryDiffEq                2.32.1

but OrdinaryDiffEq is installed. So I am not sure what the error message means. Can someone please clarify?


#2

(Disregard all of this…)
The package OrdinaryDiffEq version 2.32.1 specifies Julia version 0.6.0 as a requirement (here).

Thus, the package had been installed without issues with Julia 0.6.0. Then, after the upgrade to 0.6.2, the package manager can’t find any compatible version and basically “doesn’t know what to do”.

Maybe a quick fix could be checking out OrdinaryDiffEq, as it may turn the error into a warning (I haven’t tested this).

Anyway the requirement of Julia 0.6.0 seems bizarre to me and should probably just be fixed in METADATA, unless there are good reasons for that. cc @ChrisRackauckas.


#3

Isn’t that just a lower bound though? I’ve installed on v0.6.1 and v0.6.2 without issues, and Travis/AppVeyor is fine. Could this be another package resolver problem? I’ll change the REQUIRE file but from what I understand that wouldn’t make a difference here.


#4

Whoops, sorry, I got confused with the new specification style of Pkg3 that I’m working with these days…


#5

That’s what I suspect, or some subtle dependency conflict between master of NLSolversBase and the released OrdinaryDiffEq, but I don’t know how to debug these systematically.


#6

Oh yes, there is one right now because @pkofod is in the middle of swapping the in-place syntax for NLSolversBase (i.e. NLsolve and Optim). That’s a huge breaking release. I wouldn’t recommend being on master unless you’ve updated for it already (which our releases haven’t because it’s not released yet).


#7

A package resolver problem (in the sense of a bug) is unlikely, given where the error comes from. A subtle dependency conflict with an unhelpful error message is more likely in my opinion.

If you compile julia from source, here is something you could do to debug: in the file “base/pkg/entry.jl” right above line 485 which should read if "julia" in conflicts[pkg], insert this line:

println(bktrc[pkg])

This should show a backtrace of what happened when trying to resolve “OrdinaryDiffEq”.

(BTW this issue of reporting errors will be considerably improved in Pkg3.)


#8

why are you checking out master? :smiley:


#9

experimenting with the new features which I like very much :smile: eg d43138 will make a lot of things easier.

Pkg.free resolved the issue, thanks @ChrisRackauckas.


#10

Cool! Yeah, I’m currently in queue at METADATA :slight_smile: Hope to have this resolved soon.