# More Pkg trouble: "unsatisfiable package requirements detected"

**URL:** <https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142>\
**Category:** General Usage\
**Tags:** package\
**Created:** [February 17, 2017, 3:09am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142 "2017-02-17T03:09:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [February 17, 2017, 3:09am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/1 "2017-02-17T03:09:08Z")

</div>

This is with julia v0.5 on OS X:

```julia
julia> Pkg.update()
INFO: Updating METADATA...
INFO: Updating LoewnerJohnEllipsoids master...
INFO: Updating RequestsCache master...
INFO: Updating NASABreakup master...
INFO: Updating KalmanFilter master...
INFO: Updating UKF master...
INFO: Updating Astrodynamics master...
INFO: Computing changes...
ERROR: unsatisfiable package requirements detected: no feasible version could be found for package: ForwardDiff
  (you may try increasing the value of the
   JULIA_PKGRESOLVE_ACCURACY environment variable)
 in resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:? (repeats 2 times)
 in update(::String, ::Set{String}) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}})() at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in update() at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?

```

It seems to me that the latest version (v0.3.4) would satisfy all of these requirements:

```julia
cbinz$ grep "ForwardDiff" */REQUIRE
DiffEqParamEstim/REQUIRE:ForwardDiff
FiniteElementDiffEq/REQUIRE:ForwardDiff 0.2.4
JuMP/REQUIRE:ForwardDiff 0.3 0.4
NLsolve/REQUIRE:ForwardDiff 0.3.0
Optim/REQUIRE:ForwardDiff 0.3.0 0.4.0
OrdinaryDiffEq/REQUIRE:ForwardDiff 0.2.4
ReverseDiffSparse/REQUIRE:ForwardDiff 0.3 0.4
Roots/REQUIRE:ForwardDiff 0.2.0

```

This is from a different computer than [my earlier question](https://discourse.julialang.org/t/jld-jl-stuck-on-an-old-version/2137), so here’s the output of `Pkg.status()`:  
[https://gist.github.com/crbinz/8ce9222625074a2a8fd5694aa786ab01](https://gist.github.com/crbinz/8ce9222625074a2a8fd5694aa786ab01)

---

<div class="post-metadata">

**Author:** ![Ken-B](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ken-b/32/1780_2.png) [@Ken-B](https://discourse.julialang.org/u/Ken-B)\
**Post date:** [February 17, 2017, 4:14pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/2 "2017-02-17T16:14:59Z")

</div>

I got the same issue I believe. Since a few days `Pkg.update()` cannot resolve. I tried with a fresh package dir and adding a REQUIRE file, but the same error.

Strangly, If I change the `JULIA_PKGRESOLVE_ACCURACY` as suggested in the error, it points to different packages as failing to find feasible version. See gist for packages and output:  
[https://gist.github.com/Ken-B/6a27ce5427801a14a32680374a9ef7be](https://gist.github.com/Ken-B/6a27ce5427801a14a32680374a9ef7be)

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 17, 2017, 6:04pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/3 "2017-02-17T18:04:55Z")

</div>

@crbinz could you `Pkg.free("ImageMagick")` and see if that helps? That fixed someone’s issue recently:

[https://github.com/JuliaDiffEq/DifferentialEquations.jl/issues/141](https://github.com/JuliaDiffEq/DifferentialEquations.jl/issues/141)

I don’t exactly know what’s going on in that library, but there must be some dependency changes on master.

What’s odd is DifferentialEquations should be v1.8.0. Though it looks like it’s exiting before it ever gets there.

Note that you cannot trust the package it tells you. It’s an odd quirk of the system that I think will be fixed soon. You might instead want to check one of the packages listed there before the error.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 17, 2017, 6:06pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/4 "2017-02-17T18:06:35Z")

</div>

Can you share your `Pkg.status()`? Are you on the master branch of any packages?

---

<div class="post-metadata">

**Author:** ![Ken-B](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ken-b/32/1780_2.png) [@Ken-B](https://discourse.julialang.org/u/Ken-B)\
**Post date:** [February 17, 2017, 8:31pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/5 "2017-02-17T20:31:08Z")

</div>

This happens with a fully fresh install: remove the `v0.5` folder, do a `Pkg.init()`, copy the REQUIRE file and run `Pkg.update()` (see git). So no master branches (also not before when `Pkg.update()` started failing). `Pkg.status()` just shows `not found` for all the packages that are in the REQUIRE file.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 17, 2017, 8:43pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/6 "2017-02-17T20:43:52Z")

</div>

I only did a quick check, but these look to be the packages with a maximum version requirement:

[https://github.com/JuliaOpt/Clp.jl/blob/master/REQUIRE](https://github.com/JuliaOpt/Clp.jl/blob/master/REQUIRE)  
[https://github.com/JuliaNLSolvers/Optim.jl/blob/master/REQUIRE](https://github.com/JuliaNLSolvers/Optim.jl/blob/master/REQUIRE)

You should check whether those conflict with anything. I don’t know of an easier way to do than this manually.

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [February 17, 2017, 10:07pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/7 "2017-02-17T22:07:02Z")

</div>

The problem here may be JLD-related, in which case I just put in place a workaround by bounding some old versions, which should help the resolver do less strange things. Try updating METADATA and see if it’s any better now.

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [February 18, 2017, 1:23am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/8 "2017-02-18T01:23:46Z")

</div>

Trying to free ImageMagick gives `ERROR: unsatisfiable package requirements detected: no feasible version could be found for package: ColorVectorSpace`.

@tkelman `Pkg.update()` at least worked… lots of things got downgraded for some reason, and Symengine failed to build (which happens… regularly). Results here:

[https://gist.github.com/crbinz/ef25862f881989ee9fda9c89ec366a51](https://gist.github.com/crbinz/ef25862f881989ee9fda9c89ec366a51)

I can at least add/update packages now, so this is an improvement.

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [February 18, 2017, 1:46am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/9 "2017-02-18T01:46:11Z")

</div>

I think what’s holding you back now is VideoIO which doesn’t work with the  
latest Images.jl yet. See [https://github.com/kmsquire/VideoIO.jl/pull/92](https://github.com/kmsquire/VideoIO.jl/pull/92).

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 18, 2017, 1:58am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/10 "2017-02-18T01:58:39Z")

</div>

Could you please report the SymEngine build failure? It’ll help them fix their build issues.

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [February 18, 2017, 2:42am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/11 "2017-02-18T02:42:55Z")

</div>

@ChrisRackauckas [Done](https://github.com/symengine/SymEngine.jl/issues/72)

@tkelman thanks. I removed VideoIO, then `Pkg.resolve()` added it back (PGFPlots, which I need, is a dependent of a dependent). However, everything seems to work okay now. Any idea why I’m seeing so many packages get downgraded?

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [February 18, 2017, 2:50am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/12 "2017-02-18T02:50:58Z")

</div>

Most of the downgrades are due to [https://github.com/JuliaImages/Images.jl/pull/577](https://github.com/JuliaImages/Images.jl/pull/577) and the subsequent bounds that were added to METADATA. Basically most packages surrounding Images.jl are now split into before-rewrite versions and after-rewrite versions, and you can only have versions from within one of those sets installed in the same package directory at a time. Some of the downgrades don’t look Images-related, I’m not entirely sure what was up with those.

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [April 10, 2017, 3:57pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/13 "2017-04-10T15:57:46Z")

</div>

I still get this roughly every other time I try to `Pkg.update()` (on both of my machines), and while I am able to get around it by variously removing/untagging random packages until it works, it’s starting to get extremely annoying. I’ve also been seeing this issue come up more on both Gitter and Discourse.

I’m wondering if there is some end in sight for these problems – will it stop with `Pkg3`? Will it stop if/when v0.6 is released? Would nuking my entire `~/.julia/v0.5/` directory help anything? Is there some issue I can follow the progress on?

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [April 10, 2017, 8:39pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/14 "2017-04-10T20:39:15Z")

</div>

Post Pkg.status() when this happens.

Does it happen if you copy the same REQUIRE file from ~/.julia/v0.5 to ~/.julia/v0.6 and try with a nightly?

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [April 10, 2017, 9:08pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/15 "2017-04-10T21:08:59Z")

</div>

Thank you for your offer to help, but I am able to find a workaround on my own. However, in case it provides you with information to address the larger issue, I’ve posted it [here](https://gist.github.com/crbinz/22ecc8c932d0ba61b658410d30fd4fe5). Earlier, I also went through and manually searched for upper bounds on requirements, and there were few enough that I was able to verify by hand there were no conflicts.

I’m trying to use the nightly julia build with the same REQUIRE file, and it’s currently building everything, but it seems to have resolved everything successfully, which is good.

_Update_:

```julia
INFO: Building Tk
ERROR: Build process failed.
Stacktrace:
 [1] build!(::Array{String,1}, ::Dict{Any,Any}, ::Set{Any}) at .\pkg\entry.jl:636
 [2] build(::Array{String,1}) at .\pkg\entry.jl:655
 [3] 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:570
 [4] 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
 [5] (::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#resolve,Tuple{}})() at .\pkg\dir.jl:36

 [6] cd(::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#resolve,Tuple{}}, ::String) at .\file.jl:59
 [7] #cd#1(::Array{Any,1}, ::Function, ::Function) at .\pkg\dir.jl:36
 [8] resolve() at .\pkg\pkg.jl:227

```

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [April 10, 2017, 9:18pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/16 "2017-04-10T21:18:25Z")

</div>

Ah right, sorry I forgot that was posted above. If resolution works okay on nightly then I think I know which PR this was. There were 2 resolution-related PR’s by carlobaldassi a couple months back which improved things here, but I only backported the smaller one to 0.5.1.

Somebody reported the Tk issue, that’s separate from Pkg version resolution at least.

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [April 12, 2017, 2:29pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/17 "2017-04-12T14:29:39Z")

</div>

Ok, so it sounds like I can look forward to this not happening on v0.6, great.

For anyone reading this that needs resolution on v0.5, I spent an hour or so last night clearing my ~/.julia/v0.5/ directory and starting over with only modules that I know I need, and that seems to have fixed things for now 😕

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [April 30, 2017, 5:06am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/18 "2017-04-30T05:06:57Z")

</div>

I’m seeing this error now on julia 0.5 [travis builds](https://travis-ci.org/davidanthoff/IterableTables.jl/jobs/227063545) for my package [IterableTables.jl](https://github.com/davidanthoff/IterableTables.jl).

Is there a recommended workaround for this? Having travis builds work is kind of important… Is there something that could be done to METADATA to prevent this? I don’t know, losen/tighten some bounds or something?

CC @tkelman

---

<div class="post-metadata">

**Author:** ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)\
**Post date:** [April 30, 2017, 5:13am UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/19 "2017-04-30T05:13:32Z")

</div>

The Pkg resolver had some bugs, most of which Carlo Baldassi has fixed on master. I need to backport those fixes and put out 0.5.2. People keep breaking stuff on 0.6 which has been distracting me a bit, but should have a backport pr up shortly.

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [April 30, 2017, 2:55pm UTC](https://discourse.julialang.org/t/more-pkg-trouble-unsatisfiable-package-requirements-detected/2142/20 "2017-04-30T14:55:18Z")

</div>

So the plan would be that 0.5.2 will be released very soon, i.e. in a couple of days? I think that would be great, given that this bug seems to effectively break the package manager in very common situations.
