# Understanding an "Unsatisfiable requirements" problems

**URL:** <https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438>\
**Category:** General Usage\
**Tags:** question, pkg\
**Created:** [April 23, 2019, 12:04pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438 "2019-04-23T12:04:58Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 23, 2019, 12:04pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/1 "2019-04-23T12:04:58Z")

</div>

I think I painted myself into a corner somehow with package requirements. The error message for trying to _test_ `TransformVariables#master` is

```julia
pkg> test TransformVariables
   Testing TransformVariables
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LogDensityProblems [6fdf6af0]:
 LogDensityProblems [6fdf6af0] log:
 ├─possible versions are: [0.2.0, 0.3.0, 0.4.0-0.4.1, 0.5.0-0.5.1, 0.6.0, 0.8.0-0.8.1] or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions [0.2.0, 0.3.0, 0.4.0-0.4.1, 0.5.0-0.5.1, 0.6.0, 0.8.0-0.8.1]
 └─restricted by compatibility requirements with TransformVariables [84d833dd] to versions: uninstalled — no versions left
   └─TransformVariables [84d833dd] log:
     ├─possible versions are: 0.3.0 or uninstalled
     └─TransformVariables [84d833dd] is fixed to version 0.3.0

```

This can be replicated by

```julia
pkg> add TransformVariables#master
pkg> test TransformVariables

```

In the `Project.toml` for `LogDensityProblems`, I have

```julia
[compat]
TransformVariables = "^0.2, ^0.3"

```

and no compat requirement in TransformVariables.

I don’t understand the error message and how to resolve it. Replicated on 1.2-pre0 and 1.1.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [April 23, 2019, 12:21pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/2 "2019-04-23T12:21:25Z")

</div>

LogDensityTransforms are according to the registry compatible only with 0.2 of TransformVariables ([https://github.com/JuliaRegistries/General/blob/master/L/LogDensityProblems/Compat.toml#L22](https://github.com/JuliaRegistries/General/blob/master/L/LogDensityProblems/Compat.toml#L22)). What you have in your Project file doesn’t matter unless the package is either devved or tracking a branch. `add LogDensityProblems#master` will likely make it work since then it is using your Project file. Releasing a new version of `LogDensityProblems` with that Project file should also do it.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 23, 2019, 12:29pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/3 "2019-04-23T12:29:45Z")

</div>

Thanks, but the latest version _was_ registered with that project file, so shouldn’t that compat spec be taken into account and reflected by the registry?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [April 23, 2019, 12:35pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/4 "2019-04-23T12:35:03Z")

</div>

Alright, the reason is that the maximum version of TransformVariables in the Registry is 0.2 and the current script does some upper bounding based on the highest registered version. We are discussing how to resolve this right now.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [April 23, 2019, 12:53pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/5 "2019-04-23T12:53:21Z")

</div>

I’m having similar issues here [Package manager: what are "explicit requirements"? - #4 by baggepinnen](https://discourse.julialang.org/t/package-manager-what-are-explicit-requirements/18616/4)  
and I can’t for my life figure out how to get around it 😕

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 23, 2019, 1:03pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/6 "2019-04-23T13:03:49Z")

</div>

I am hoping that as soon as the new version is registered, my issue will be resolved in this specific case as the bounds in registry will be updated.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [April 23, 2019, 1:06pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/7 "2019-04-23T13:06:32Z")

</div>

Unfortunately I don’t think this will be the case, because in [https://github.com/JuliaRegistries/General/pull/228](https://github.com/JuliaRegistries/General/pull/228) we don’t update the bounds for `LogDensityProblems`. The fact that `LogDensityProblems` work with `TransformVariables@0.3` was also “forgotten” in the compression algorithm in this PR: [https://github.com/JuliaRegistries/General/pull/214](https://github.com/JuliaRegistries/General/pull/214)

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [April 23, 2019, 1:09pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/8 "2019-04-23T13:09:00Z")

</div>

To workaround this while it is being worked on, register `TransformVariables` version 0.3 and then after register `LogDensityProblems` and it should work.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [April 23, 2019, 2:49pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/9 "2019-04-23T14:49:35Z")

</div>

This fixed it, thanks.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 24, 2019, 1:47pm UTC](https://discourse.julialang.org/t/understanding-an-unsatisfiable-requirements-problems/23438/10 "2019-04-24T13:47:57Z")

</div>

> [@Switching package registration systems soon](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/147):
>
> If anyone package maintainer feels that dependencies of their package or on their package have been inappropriately capped and it’s causing version resolution problems, please let me know and I can make PRs like [this one](https://github.com/JuliaRegistries/General/pull/256/files) to fix these bounds en masse.
