Can publish due to `DiffEqDevTools v0.7.0 – no valid versions exist for package DiffBase`
dlfivefifty opened this issue · 5 comments
I'm getting the following error while trying to tag and publish a new package:
julia> PkgDev.publish()
INFO: Validating METADATA
ERROR: packages with unsatisfiable requirements found:
DiffEqDevTools v0.7.0 – no valid versions exist for package DiffBase
DiffEqDevTools v0.7.1 – no valid versions exist for package DiffBase
Could you please tell me
- What was your METADATA commit
- What was the change that you were trying to publish
Thanks
Hmm, things to note:
- DiffEqDevTools doesn't depend on DiffBase, nor the other way around, nor indirectly.
- This doesn't seem to happen with normal
Pkg.update()
s, so it's a publishing-only problem? - There was a recent change in the DiffEq ecosystem where a bunch of packages updated to be compatible with the newest ForwardDiff.jl (v0.7.0). That means that just recently none of DiffEq depends on DiffBase.jl anymore at all because of
JuliaDiff/ForwardDiff.jl@1129f9b#diff-58476995b642435595799e856c5d2a74 . Whatever is going on could be related to versioning issues with this? - (3) is slightly off because NLsolve.jl depends on DiffBase.jl still
julia> Pkg.dependents("DiffBase")
3-element Array{AbstractString,1}:
"Celeste"
"NLsolve"
"Klara"
and it is a dependency of OrdinaryDiffEq.jl, but not DiffEqDevTools.jl. But now that JuliaNLSolvers/NLsolve.jl#131 is merged, NLsolve.jl will soon tag to make that no longer true.
- None of DiffEq relates to Celeste or Klara. So we should check if this still exists after the NLsolve.jl tag and if it does, there's something really weird with versioning going on.
Hopefully that information helps.
It seems, from a few quick experiments I did, that this problem should go away by setting
ENV["JULIA_PKGRESOLVE_ACCURACY"]=2
I will see if I can get a more satisfactory fix. @dlfivefifty, can you check if this works in the meanwhile?
This doesn't seem to happen with normal
Pkg.update()
s, so it's a publishing-only problem?
Yes, these errors are produced by PkgDev.Entry.check_metadata()
.
Yes that worked:
Can this be closed?