# How to best tackle "Unsatisfiable requirements" type errors while adding packages?

**URL:** <https://discourse.julialang.org/t/how-to-best-tackle-unsatisfiable-requirements-type-errors-while-adding-packages/35803>\
**Category:** General Usage\
**Created:** [March 10, 2020, 4:29pm UTC](https://discourse.julialang.org/t/how-to-best-tackle-unsatisfiable-requirements-type-errors-while-adding-packages/35803 "2020-03-10T16:29:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bashonubuntu](https://avatars.discourse-cdn.com/v4/letter/b/f19dbf/32.png) [@bashonubuntu](https://discourse.julialang.org/u/bashonubuntu)\
**Post date:** [March 10, 2020, 4:29pm UTC](https://discourse.julialang.org/t/how-to-best-tackle-unsatisfiable-requirements-type-errors-while-adding-packages/35803/1 "2020-03-10T16:29:33Z")

</div>

Hello all,

This may be a simple issue for some but this is the first time I encountered something like this while adding packages on a fresh julia install. I tried upgrading to 1.3.1 yesterday from 1.2.0 and was getting the same issue. I thought this had something to do with 1.3.1 so I went back to 1.2.0 from scratch and got the same issue. I am including the full stacktrace below. I would appreciate any help in solving this as it would also help me understand a bit more about the language while also helping me learn how to tackle issues like these.

I am running the following in a script titled `pkg.jl` on a fresh install of julia 1.2.0. Can anyone reproduce this on a fresh install of 1.2.0 or 1.3.1?

```julia
using Pkg

Pkg.add("DataFrames")
Pkg.add("StatsModels")
Pkg.add("Optim")
Pkg.add("ForwardDiff")
Pkg.add("LinearAlgebra")
Pkg.add("Distributions")
Pkg.add("BenchmarkTools")
Pkg.add("Distributed")
Pkg.add("Sobol")
Pkg.add("SQLite")
Pkg.add("CSV")
Pkg.add("JuliaDB")
....

```

and getting the following error. The error appears to be coming from `Pkg.add("JuliaDB")`, which is line 14 in my script titled `pkg.jl`.

```julia
ERROR: LoadError: Unsatisfiable requirements detected for package Glob [c27321d9]:
 Glob [c27321d9] log:
 ├─possible versions are: 1.2.0 or uninstalled
 ├─restricted by compatibility requirements with JuliaDB [a93385a2] to versions: 1.2.0
 │ └─JuliaDB [a93385a2] log:
 │ ├─possible versions are: [0.9.0, 0.10.0, 0.11.0-0.11.2, 0.12.0, 0.13.0] or uninstalled
 │ └─restricted to versions * by an explicit requirement, leaving only versions [0.9.0, 0.10.0, 0.11.0-0.11.2, 0.12.0, 0.13.0]
 └─restricted by compatibility requirements with Compat [34da2185] to versions: uninstalled — no versions left
   └─Compat [34da2185] log:
     ├─possible versions are: [1.0.0-1.0.1, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0-1.5.1, 2.0.0, 2.1.0, 2.2.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0-3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0] or uninstalled
     ├─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: [2.0.0, 2.1.0, 2.2.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0-3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0]
     │ └─DataFrames [a93c6f00] log:
     │ ├─possible versions are: [0.11.7, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0-0.15.2, 0.16.0, 0.17.0-0.17.1, 0.18.0-0.18.4, 0.19.0-0.19.4, 0.20.0-0.20.2] or uninstalled
     │ └─restricted to versions 0.20.2 by an explicit requirement, leaving only versions 0.20.2
     └─restricted by compatibility requirements with Optim [429524aa] to versions: [3.2.0, 3.3.0-3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0]
       └─Optim [429524aa] log:
         ├─possible versions are: [0.15.3, 0.16.0, 0.17.0-0.17.2, 0.18.0-0.18.1, 0.19.0-0.19.7, 0.20.0-0.20.3] or uninstalled
         └─restricted to versions 0.20.3 by an explicit requirement, leaving only versions 0.20.3
Stacktrace:
 [1] #propagate_constraints!#61(::Bool, ::typeof(Pkg.GraphType.propagate_constraints!), ::Pkg.GraphType.Graph, ::Set{Int64}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\GraphType.jl:1007
 [2] propagate_constraints! at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\GraphType.jl:948 [inlined]
 [3] #simplify_graph!#121(::Bool, ::typeof(Pkg.GraphType.simplify_graph!), ::Pkg.GraphType.Graph, ::Set{Int64}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\GraphType.jl:1462
 [4] simplify_graph! at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\GraphType.jl:1462 [inlined] (repeats 2 times)
 [5] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:317
 [6] #add#100(::Bool, ::typeof(Pkg.Operations.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\Operations.jl:962
 [7] #add at .\none:0 [inlined]
 [8] #add#25(::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:99
 [9] add at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:69 [inlined]
 [10] #add#24 at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:67 [inlined]
 [11] add at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:67 [inlined]
 [12] #add#21 at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:65 [inlined]
 [13] add at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:65 [inlined]
 [14] #add#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::String) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:64
 [15] add(::String) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\API.jl:64
 [16] top-level scope at C:\Users\....\Query\Parallelization\Integrate all\code\counterfactual\pkg.jl:14
 [17] include at .\boot.jl:328 [inlined]
 [18] include_relative(::Module, ::String) at .\loading.jl:1094
 [19] include(::Module, ::String) at .\Base.jl:31
 [20] include(::String) at .\client.jl:431
 [21] top-level scope at REPL[3]:1
in expression starting at C:\Users\....\Query\Parallelization\Integrate all\code\counterfactual\pkg.jl:14

```

Also, including my versioninfo below

```julia
julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)        
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
  WORD_SIZE: 64    
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = "C:\Users\....\AppData\Local\Programs\Microsoft VS Code\Code.exe"

```

---

<div class="post-metadata">

**Author:** ![bashonubuntu](https://avatars.discourse-cdn.com/v4/letter/b/f19dbf/32.png) [@bashonubuntu](https://discourse.julialang.org/u/bashonubuntu)\
**Post date:** [March 10, 2020, 10:38pm UTC](https://discourse.julialang.org/t/how-to-best-tackle-unsatisfiable-requirements-type-errors-while-adding-packages/35803/2 "2020-03-10T22:38:28Z")

</div>

Resolved by adding the `Pkg.develop("ProblemPackage")` at the beginning of `pkg.jl`

```julia
using Pkg

Pkg.develop("Glob")
Pkg.develop("Compat")

Pkg.add("DataFrames")
Pkg.add("StatsModels")
Pkg.add("Optim")
Pkg.add("ForwardDiff")
Pkg.add("LinearAlgebra")
Pkg.add("Distributions")
Pkg.add("BenchmarkTools")
Pkg.add("Distributed")
Pkg.add("Sobol")
Pkg.add("SQLite")
Pkg.add("CSV")
Pkg.add("JuliaDB")
....

```
