Can't install Gadfly - unsatisfiable requirements detected

Hi,

[Edit: It seems that I just needed to do a pkg> update prior to adding the package. Now off to read about why …]

I’m new to Julia and am having trouble installing Gadfly, specifically this happens when I try to add the package:

(v1.1) pkg> add Gadfly
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DebuggerFramework [67417a49]:
 DebuggerFramework [67417a49] log:
 ├─possible versions are: 0.1.0-0.1.2 or uninstalled
 ├─restricted by compatibility requirements with Atom [c52e3926] to versions: 0.1.0-0.1.2
 │ └─Atom [c52e3926] log:
 │   ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.1, 0.3.0, 0.4.0-0.4.6, 0.5.0-0.5.10, 0.6.0-0.6.17, 0.7.0-0.7.15, 0.8.0-0.8.2] or uninstalled
 │   └─restricted to versions 0.7.15 by an explicit requirement, leaving only versions 0.7.15
 └─restricted by julia compatibility requirements to versions: uninstalled — no versions left

(v1.1) pkg>
julia> versioninfo()
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

[edited post to add result under Linux]

P.S. I tried under Ubuntu in a VMWare session and I get a different compatibility issue:

(v1.1) pkg> add Gadfly
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package SIUnits [b9d75638]:
 SIUnits [b9d75638] log:
 ├─possible versions are: [0.0.1-0.0.6, 0.1.0] or uninstalled
 ├─restricted by compatibility requirements with Images [916415d5] to versions: [0.0.1-0.0.6, 0.1.0]
 │ └─Images [916415d5] log:
 │   ├─possible versions are: [0.2.0-0.2.50, 0.3.0-0.3.3, 0.4.0-0.4.50, 0.5.0-0.5.14, 0.6.0-0.6.1, 0.7.0, 0.8.0, 0.9.0-0.9.1, 0.10.0-0.10.1, 0.11.0-0.11.5, 0.12.0, 0.13.0, 0.14.0, 0.15.0-0.15.1, 0.16.0-0.16.1, 0.17.0-0.17.3] or uninstalled
 │   └─restricted to versions 0.17.2 by an explicit requirement, leaving only versions 0.17.2
 └─restricted by julia compatibility requirements to versions: uninstalled — no versions left

(v1.1) pkg> 
julia> versioninfo()
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

Thanks

4 Likes

@klaff even after doing update when in Pkg I can’t add Gadfly. Do you know what is the issue?

This is the output I get

(v1.1) pkg> add Gadfly
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DataArrays [0fe7c1db]:
 DataArrays [0fe7c1db] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.12, 0.2.0-0.2.20, 0.3.0-0.3.12, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0-0.6.2, 0.7.0] or uninstalled
 ├─restricted to versions 0.7.0 by an explicit requirement, leaving only versions 0.7.0
 └─restricted by compatibility requirements with Gadfly [c91e804a] to versions: [0.0.1-0.0.3, 0.1.0-0.1.12, 0.2.0-0.2.20, 0.3.0-0.3.12, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0-0.6.2] — no versions left
   └─Gadfly [c91e804a] log:
     ├─possible versions are: [0.1.0-0.1.31, 0.2.0-0.2.9, 0.3.0-0.3.18, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.5, 0.7.0, 0.8.0, 1.0.0-1.0.1] or uninstalled
     ├─restricted to versions * by an explicit requirement, leaving only versions [0.1.0-0.1.31, 0.2.0-0.2.9, 0.3.0-0.3.18, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.5, 0.7.0, 0.8.0, 1.0.0-1.0.1]
     └─restricted by compatibility requirements with Distributions [31c24e10] to versions: 0.1.18 or uninstalled, leaving only versions: 0.1.18
       └─Distributions [31c24e10] log:
         ├─possible versions are: [0.1.0-0.1.4, 0.2.0-0.2.13, 0.3.0, 0.6.4-0.6.7, 0.7.0-0.7.6, 0.8.0-0.8.10, 0.9.0, 0.10.0-0.10.2, 0.11.0-0.11.1, 0.12.0-0.12.5, 0.13.0, 0.14.0-0.14.2, 0.15.0, 0.16.0-0.16.4, 0.17.0, 0.18.0, 0.19.1-0.19.2] or uninstalled
         └─restricted to versions 0.19.2 by an explicit requirement, leaving only versions 0.19.2

I have DataArrays installed already.

Despite my comment above I didn’t do much more research, so I don’t know how to figure out where the conflicting requirements are coming from.

DataArrays.jl is a deprecated package, and isn’t a requirement of the current version of Gadfly: https://github.com/GiovineItalia/Gadfly.jl/blob/master/Project.toml.
So try removing DataArrays.

Thanks, I’ve removed DataArrays but still I cannot add Gadfly. I did update after removing DataArrays, but I still get the same error.

Does add Gadfly#master work?
If not, can you list your Pkg status.

It does something, but I still get some errors:

(v1.1) pkg> add Gadfly#master
   Cloning git-repo `https://github.com/GiovineItalia/Gadfly.jl.git`
  Updating git-repo `https://github.com/GiovineItalia/Gadfly.jl.git`
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package StatsBase [2913bbd2]:
 StatsBase [2913bbd2] log:
 ├─possible versions are: [0.1.0, 0.2.0-0.2.1, 0.2.3-0.2.10, 0.3.0-0.3.13, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.16, 0.7.0-0.7.4, 0.8.0-0.8.3, 0.9.0, 0.10.0, 0.11.0-0.11.1, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0, 0.16.0-0.16.1, 0.17.0, 0.18.0, 0.19.0-0.19.5, 0.20.0-0.20.1, 0.22.0, 0.23.0-0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0-0.28.1, 0.29.0, 0.30.0] or uninstalled
 ├─restricted to versions 0.29.0-0.29 by Gadfly [c91e804a], leaving only versions 0.29.0
 │ └─Gadfly [c91e804a] log:
 │   ├─possible versions are: 1.1.0 or uninstalled
 │   └─Gadfly [c91e804a] is fixed to version 1.1.0
 └─restricted to versions 0.30.0 by an explicit requirement — no versions left

I tried using Gadfly but it still does not work.

My Pkg status is

(v1.1) pkg> status
    Status `~/.julia/environments/v1.1/Project.toml`
  [c52e3926] Atom v0.8.5
  [34da2185] Compat v2.1.0
  [0c46a032] DifferentialEquations v6.3.0
  [31c24e10] Distributions v0.19.2
  [7073ff75] IJulia v1.18.1
  [e5e0dc1b] Juno v0.7.0
  [b964fa9f] LaTeXStrings v1.0.3
  [23fbe1c1] Latexify v0.8.2
  [65888b18] ParameterizedFunctions v4.1.1
  [91a5bcdd] Plots v0.24.0
  [438e738f] PyCall v1.91.2
  [d330b81b] PyPlot v2.8.1
  [1fd47b50] QuadGK v2.0.3
  [276daf66] SpecialFunctions v0.7.2
  [2913bbd2] StatsBase v0.30.0

I had a similar problem installing StatsBase and it was due to Distributions v0.19 package.

Can you try uninstalling Distributions and then install Gadfly? If this does not work then also uninstall StatsBase and try.

Try add StatsBase Gadfly.

or add StatsBase@0.29

The explanation (as I understand it) is that if you have a package B (e.g. StatsBase) installed independently in your environment that package A (e.g. Gadfly) depends on, then package B in your environment needs to match package A’s Project.toml. @kristoffer.carlsson might want to elaborate.

https://github.com/JuliaLang/Pkg.jl/issues/110 says it all pretty much.

1 Like

@kristoffer.carlsson Trying add StatsBase Gadfly, it seems that it needs DataArrays

I get

(v1.1) pkg> add StatsBase Gadfly
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DataArrays [0fe7c1db]:
 DataArrays [0fe7c1db] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.12, 0.2.0-0.2.20, 0.3.0-0.3.12, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0-0.6.2, 0.7.0] or uninstalled
 ├─restricted by compatibility requirements with Gadfly [c91e804a] to versions: [0.0.1-0.0.3, 0.1.0-0.1.12, 0.2.0-0.2.20, 0.3.0-0.3.12, 0.4.0-0.4.1, 0.5.0-0.5.3, 0.6.0-0.6.2]
 │ └─Gadfly [c91e804a] log:
 │   ├─possible versions are: [0.1.0-0.1.31, 0.2.0-0.2.9, 0.3.0-0.3.18, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.5, 0.7.0, 0.8.0, 1.0.0-1.0.1] or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving only versions [0.1.0-0.1.31, 0.2.0-0.2.9, 0.3.0-0.3.18, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.5, 0.7.0, 0.8.0, 1.0.0-1.0.1]
 │   └─restricted by compatibility requirements with Distributions [31c24e10] to versions: 0.1.18 or uninstalled, leaving only versions: 0.1.18
 │     └─Distributions [31c24e10] log:
 │       ├─possible versions are: [0.1.0-0.1.4, 0.2.0-0.2.13, 0.3.0, 0.6.4-0.6.7, 0.7.0-0.7.6, 0.8.0-0.8.10, 0.9.0, 0.10.0-0.10.2, 0.11.0-0.11.1, 0.12.0-0.12.5, 0.13.0, 0.14.0-0.14.2, 0.15.0, 0.16.0-0.16.4, 0.17.0, 0.18.0, 0.19.1-0.19.2] or uninstalled
 │       └─restricted to versions 0.19.2 by an explicit requirement, leaving only versions 0.19.2
 └─restricted by julia compatibility requirements to versions: 0.7.0 or uninstalled — no versions left

@Mattriks trying add StatsBase@0.29 doesn’t work also. It seems that the Distributions package needs version 0.30.0 of StatsBase

(v1.1) pkg> add StatsBase@0.29
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package StatsBase [2913bbd2]:
 StatsBase [2913bbd2] log:
 ├─possible versions are: [0.1.0, 0.2.0-0.2.1, 0.2.3-0.2.10, 0.3.0-0.3.13, 0.4.0-0.4.4, 0.5.0-0.5.3, 0.6.0-0.6.16, 0.7.0-0.7.4, 0.8.0-0.8.3, 0.9.0, 0.10.0, 0.11.0-0.11.1, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0, 0.16.0-0.16.1, 0.17.0, 0.18.0, 0.19.0-0.19.5, 0.20.0-0.20.1, 0.22.0, 0.23.0-0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0-0.28.1, 0.29.0, 0.30.0] or uninstalled
 ├─restricted to versions 0.29 by an explicit requirement, leaving only versions 0.29.0
 └─restricted by compatibility requirements with Distributions [31c24e10] to versions: 0.30.0 — no versions left
   └─Distributions [31c24e10] log:
     ├─possible versions are: [0.1.0-0.1.4, 0.2.0-0.2.13, 0.3.0, 0.6.4-0.6.7, 0.7.0-0.7.6, 0.8.0-0.8.10, 0.9.0, 0.10.0-0.10.2, 0.11.0-0.11.1, 0.12.0-0.12.5, 0.13.0, 0.14.0-0.14.2, 0.15.0, 0.16.0-0.16.4, 0.17.0, 0.18.0, 0.19.1-0.19.2] or uninstalled
     └─restricted to versions 0.19.2 by an explicit requirement, leaving only versions 0.19.2

Is there a way to bypass it?

Reading the posts above, you need to downgrade 2 packages in your environment (Distributions and StatsBase) to the same versions as in Gadfly’s Project.toml. Try add Distributions@0.18 first.

If that doesn’t work, maybe edit the Project.toml file in your v1.1 environment, so that it contains the needed [compats] for Distributions and StatsBase, and then instantiate the Project.toml in a (clean) v1.1 folder. See Pkg docs for more info.

1 Like

@Mattriks Perfect! Installing Distributions@0.18 and add StatsBase@0.29 works like a charm. Now add Gadfly runs ok. Thanks!

I tried all of the above recommendations and Gadfly still has unsatisfiable requirements detected. What changed since 2019? Thanks.

Please paste your errors, after reading this help psa.

1 Like

Gadfly is my favorite 2D plotting package however, there is something odd about Gadfly’s interaction with the package manager. I haven’t been able to figure out why. However, some of the other comments sound familiar to me. The interaction with DataArrays being one.

If I don’t pin my version of Gadfly to the latest (v1.2.1) then Gadfly is sometimes (~30% of the time) downgraded by the package manager to a 2 year old version (0.8 ish) which installs a non-compiling version of DataArrays. Everything goes downhill from there. Before I started pinning Gadfly to the latest revision, I’d dread ] update as I’d never know what was going to happen once the cascade of downgrades started.

1 Like