# Interpreting version compatibility error during package installation

**URL:** <https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258>\
**Category:** General Usage\
**Created:** [January 26, 2022, 9:59pm UTC](https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258 "2022-01-26T21:59:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [January 26, 2022, 9:59pm UTC](https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258/1 "2022-01-26T21:59:52Z")

</div>

I don’t understand the following version compatibility error during installation of `ContinuumArrays.jl`:

```julia-repl
(@v1.7) pkg> add ContinuumArrays
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package OrthogonalPolynomialsQuasi [aa41a628]:
 OrthogonalPolynomialsQuasi [aa41a628] log:
 ├─possible versions are: 0.0.1-0.4.3 or uninstalled
 ├─restricted to versions * by ApproxFunBase [fbd15aa5], leaving only versions 0.0.1-0.4.3
...
 └─restricted by compatibility requirements with FillArrays [1a297f60] to versions: uninstalled — no versions left

```

The dependency tree in the error message complains that different versions of `OrthogonalPolynomialsQuasi.jl` are required by different packages, but the details of the tree don’t seem to support this complaint:

- The available versions of `OrthogonalPolynomialsQuasi.jl` are `0.0.1-0.4.3`.
- `OrthogonalPolynomialsQuasi.jl` is restricted to versions `*` by `ApproxFunBase.jl`.
  - So, the `OrthogonalPolynomialsQuasi.jl `version is unrestricted by `ApproxFunBase.jl`.

- `OrthogonalPolynomialsQuasi.jl` is uninstalled by `FillArrays.jl`.
  - So, the `OrthogonalPolynomialsQuasi.jl` version is _practically_ unrestricted by `FillArrays.jl`???

In fact I am not sure what the last bullet point above means. `FillArrays.jl` does not require `OrthogonalPolynomialsQuasi.jl` as shown in its [`Project.toml`](https://github.com/JuliaArrays/FillArrays.jl/blob/master/Project.toml), so it seems obvious that `OrthogonalPolynomialsQuasi.jl` is uninstalled by `FillArrays.jl`. Then why does `FillArrays.jl` even care about the version of `OrthogonalPolynomialsQuasi.jl`?

The full error message is here:

```julia-repl
(@v1.7) pkg> add ContinuumArrays
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package OrthogonalPolynomialsQuasi [aa41a628]:
 OrthogonalPolynomialsQuasi [aa41a628] log:
 ├─possible versions are: 0.0.1-0.4.3 or uninstalled
 ├─restricted to versions * by ApproxFunBase [fbd15aa5], leaving only versions 0.0.1-0.4.3
 │ └─ApproxFunBase [fbd15aa5] log:
 │ ├─possible versions are: 0.4.0 or uninstalled
 │ ├─restricted to versions 0.3-0.5 by ApproxFunFourier [59844689], leaving only versions 0.4.0
 │ │ └─ApproxFunFourier [59844689] log:
 │ │ ├─possible versions are: 0.2.12 or uninstalled
 │ │ └─ApproxFunFourier [59844689] is fixed to version 0.2.12
 │ └─ApproxFunBase [fbd15aa5] is fixed to version 0.4.0
 └─restricted by compatibility requirements with FillArrays [1a297f60] to versions: uninstalled — no versions left
   └─FillArrays [1a297f60] log:
     ├─possible versions are: 0.2.0-0.12.7 or uninstalled
     └─restricted to versions 0.12 by ClassicalOrthogonalPolynomials [b30e2e7b], leaving only versions 0.12.0-0.12.7
       └─ClassicalOrthogonalPolynomials [b30e2e7b] log:
         ├─possible versions are: 0.5.1 or uninstalled
         ├─restricted to versions 0.5 by HarmonicOrthogonalPolynomials [e416a80e], leaving only versions 0.5.1
         │ └─HarmonicOrthogonalPolynomials [e416a80e] log:
         │ ├─possible versions are: 0.2.4 or uninstalled
         │ └─HarmonicOrthogonalPolynomials [e416a80e] is fixed to version 0.2.4
         └─ClassicalOrthogonalPolynomials [b30e2e7b] is fixed to version 0.5.1

```

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 27, 2022, 7:40am UTC](https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258/2 "2022-01-27T07:40:34Z")

</div>

I can’t make sense of the resolver log either and I’m not sure what in your environment causes this conflict to be triggered by adding `Continuumarrays`, but experimenting in a clean environment (`>pkg activate --temp` is your friend) one can see that `Continuumarrays` is unproblematic to add on its own and by trying different combinations of the packages in the log that the real problem is the combination of `OrthogonalPolynomialsQuasi` and `ClassicalOrthogonalPolynomials`, which turn out to have mutually exclusive compat on `QuasiArrays`. The README of `OrthogonalPolynomialsQuasi` indicates that it has been replaced by `ClassicalOrthogonalPolynomials` so my suggestion would be to find out what in your environment needs the outdated package.

Or possibly better, don’t try to put every package in the global environment but use different environments for each project you’re working on.

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [January 27, 2022, 10:40am UTC](https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258/3 "2022-01-27T10:40:33Z")

</div>

The error message should be improved… Before fixing this could you give us the content of your `.julia/environments/v1.7/Project.toml` and `.julia/environments/v1.7/Manifest.toml` ?

---

<div class="post-metadata">

**Author:** ![wsshin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsshin/32/360_2.png) [@wsshin](https://discourse.julialang.org/u/wsshin)\
**Post date:** [February 2, 2022, 6:50pm UTC](https://discourse.julialang.org/t/interpreting-version-compatibility-error-during-package-installation/75258/4 "2022-02-02T18:50:42Z")

</div>

> [@GunnarFarneback](#):
>
> Or possibly better, don’t try to put every package in the global environment but use different environments for each project you’re working on.

Thanks! I was able to resolve the issue by creating a separate environment for this project.
