# Unsatisfiable requirements detected for package OpenBLAS\_jll (error indirectly from PackageCompiler)

**URL:** <https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811>\
**Category:** General Usage\
**Created:** [November 2, 2021, 3:27pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811 "2021-11-02T15:27:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 2, 2021, 3:27pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811/1 "2021-11-02T15:27:13Z")

</div>

Any idea why this seeming MWE doesn’t work (confirmed below, is a known bug in 1.8):

```julia
(@v1.8) pkg> add OpenBLAS_jll@v0.3.13
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package OpenBLAS_jll [4536629a]:
 OpenBLAS_jll [4536629a] log:
 ├─possible versions are: 0.3.17 or uninstalled
 └─restricted to versions 0.3.13 by an explicit requirement — no versions left

```

I even get this error with an empty environment, and exiting and stating Julia (1.8). I’m not sure this relates to `activate --temp` that I was using for the first time.

Why does the similar (for latest version, or if skipping the version) work:

```julia
(@v1.8) pkg> add OpenBLAS_jll@v0.3.17

```

I’ve yet to do a `(@v1.8) pkg> gc` which I think might solve this, but could this be a bug in my “Commit 991d6e6cb8 (11 days old master)”? At least this is not a good user experience (for new users).

I’m not opposed to the latest version, but I have no idea what’s holding back:

```julia
julia> create_sysimage([:StatsPlots,:CSV,:DataFrames,:DataFramesMeta,:SQLite,:GLM,:Optim,:RCall],sysimage_path="sys_dataanalysis.so",precompile_execution_file="dataanalysis.jl")
ERROR: Unsatisfiable requirements detected for package OpenBLAS_jll [4536629a]:
 OpenBLAS_jll [4536629a] log:
 ├─possible versions are: 0.3.17 or uninstalled
 └─restricted to versions 0.3.13 by an explicit requirement — no versions left
Stacktrace:
  [1] check_constraints(graph::Pkg.Resolve.Graph)
[..]

```

I get a wall of text (none of it helpful, and the MWE should do).

I think there’s a workaround to get this working (but it should work too?):

```julia
(@v1.8) pkg> add OpenBLAS_jll@v0.3.13+7
ERROR: ArgumentError: invalid base 10 digit '+' in "13+7"
[..]

```

What I had before removing all packages one by one:

```julia
(@v1.8) pkg> st
Status `~/.julia/environments/v1.8/Project.toml`
  [a93c6f00] DataFrames v1.2.2
  [1313f7d8] DataFramesMeta v0.10.0
  [429524aa] Optim v1.4.1
  [6f49c342] RCall v0.13.12
  [0aa819cd] SQLite v1.3.0
  [f3b207a7] StatsPlots v0.14.28
  [4536629a] OpenBLAS_jll v0.3.13+7

```

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 2, 2021, 4:01pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811/2 "2021-11-02T16:01:44Z")

</div>

New MWE, seems like a bug in Julia 1.8 (or its Pkg, or .julia folder currupt?):

```julia
julia> using Pkg; Pkg.precompile()
ERROR: Unsatisfiable requirements detected for package OpenBLAS_jll [4536629a]:
 OpenBLAS_jll [4536629a] log:
 ├─possible versions are: 0.3.17 or uninstalled
 └─restricted to versions 0.3.13 by an explicit requirement — no versions left
Stacktrace:
  [1] check_constraints(graph::Pkg.Resolve.Graph)
    @ Pkg.Resolve ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:989
  [2] Pkg.Resolve.Graph(compat::Dict{Base.UUID, Dict{VersionNumber, Dict{Base.UUID, Pkg.Versions.VersionSpec}}}, uuid_to_name::Dict{Base.UUID, String}, reqs::Dict{Base.UUID, Pkg.Versions.VersionSpec}, fixed::Dict{Base.UUID, Pkg.Resolve.Fixed}, verbose::Bool, julia_version::VersionNumber)
    @ Pkg.Resolve ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:346
  [3] deps_graph(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, uuid_to_name::Dict{Base.UUID, String}, reqs::Dict{Base.UUID, Pkg.Versions.VersionSpec}, fixed::Dict{Base.UUID, Pkg.Resolve.Fixed}, julia_version::VersionNumber)
    @ Pkg.Operations ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:472
  [4] resolve_versions!(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, julia_version::VersionNumber)
    @ Pkg.Operations ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:341
  [5] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, level::Pkg.Types.UpgradeLevel; skip_writing_project::Bool, silent_no_change::Bool)
    @ Pkg.Operations ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1286
  [6] up(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, skip_writing_project::Bool, silent_no_change::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:340
  [7] #up#55
    @ ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:160 [inlined]
  [8] #resolve#141
    @ ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:346 [inlined]
  [9] precompile(ctx::Pkg.Types.Context, pkgs::Vector{String}; internal_call::Bool, strict::Bool, warn_loaded::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:1036
 [10] precompile
    @ ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:1035 [inlined]
 [11] #precompile#225
    @ ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:1032 [inlined]
 [12] precompile (repeats 2 times)
    @ ~/julia-1.8-DEV-991d6e6cb8/share/julia/stdlib/v1.8/Pkg/src/API.jl:1032 [inlined]
 [13] top-level scope
    @ REPL[26]:1

```

This is now with (not a bug in PackageCompiler, which invoked the above, nor in PyCall):

```julia
(@v1.8) pkg> st
Status `~/.julia/environments/v1.8/Project.toml`
  [9b87118b] PackageCompiler v2.0.0-dev `https://github.com/JuliaLang/PackageCompiler.jl.git#master`
  [438e738f] PyCall v1.92.5

```

EDIT went away after:

```julia
(@v1.8) pkg> rm PyCall
    Updating `~/.julia/environments/v1.8/Project.toml`
  [438e738f] - PyCall v1.92.5
    Updating `~/.julia/environments/v1.8/Manifest.toml`
  [8f4d0f93] - Conda v1.5.2
  [682c06a0] - JSON v0.21.2
  [1914dd2f] - MacroTools v0.5.9
  [69de0a69] - Parsers v2.1.2
  [438e738f] - PyCall v1.92.5
  [81def892] - VersionParsing v1.2.1
  [56f22d72] - Artifacts
  [2a0f44e3] - Base64
  [ade2ca70] - Dates
  [8f399da3] - Libdl
  [37e2e46d] - LinearAlgebra
  [d6f4376e] - Markdown
  [a63ad114] - Mmap
  [de0858da] - Printf
  [9a3f8284] - Random
  [ea8e919c] - SHA
  [9e88b42a] - Serialization
  [4ec0a83e] - Unicode
  [e66e0078] - CompilerSupportLibraries_jll v0.5.0+0
  [4536629a] - OpenBLAS_jll v0.3.13+7
  [8e850b90] - libblastrampoline_jll v3.1.0+0

julia> using Pkg; Pkg.precompile()

```

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [November 2, 2021, 4:11pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811/3 "2021-11-02T16:11:17Z")

</div>

Tracked in several issues/pull requests on GitHub:

- [https://github.com/JuliaRegistries/General/issues/47158](https://github.com/JuliaRegistries/General/issues/47158)
- [https://github.com/JuliaLang/Pkg.jl/pull/2787](https://github.com/JuliaLang/Pkg.jl/pull/2787)

and all linked references

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 2, 2021, 4:21pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-detected-for-package-openblas-jll-error-indirectly-from-packagecompiler/70811/4 "2021-11-02T16:21:55Z")

</div>

Yes, exactly a known bug, that one… triggered by PackageCompiler.jl or i.e. first adding e.g. RCall or PyCall, or (seemingly anything):

```julia
(@v1.8) pkg> add CSV
   Resolving package versions...
    Updating `~/.julia/environments/v1.8/Project.toml`
  [336ed68f] + CSV v0.9.10
    Updating `~/.julia/environments/v1.8/Manifest.toml`
  [336ed68f] + CSV v0.9.10
  [944b1d66] + CodecZlib v0.7.0
[..]
  [e66e0078] + CompilerSupportLibraries_jll v0.5.0+0
  [4536629a] + OpenBLAS_jll v0.3.13+7
  [8e850b90] + libblastrampoline_jll v3.1.0+0

```

It’s very non-obvious why OpenBLAS\_jll is added (or any of the last three). I’ve so far relied on Juliahub to see (direct and indirect) dependencies of packages, and those are not there for that or (other packages). It’s Julia (or Pkg) that does seem to add them for some reason, possibly a separate bug, from then not being able to precompile.

Maybe I should mark this thread with a solution (since a known bug), or not yet until solved?

FYI in Julia 1.7-rc1 this works:

```julia
(@v1.7) pkg> add OpenBLAS_jll@v0.3.13
[..]
julia> using Pkg; Pkg.precompile()

```

I.e. when (Asimov.jl using) QML.jl is not installed (but that may be a bug in QML.jl not Julia 1.7):

```julia
julia> using QML
[Info: Precompiling QML [2db162a6-7e43-52c3-8d84-290c1c42d82a]
WARNING: import of ColorTypes.include into QML conflicts with an existing identifier; ignored.
C++ exception while wrapping module QML: invalid subtyping in definition of QObject with supertype Any

signal (11): Segmentation fault
[..]

```
