Error Unsatisfiable requirements detected for package ZMQ [c2297ded] when adding new packages

Hi all,

First of all, I’d like to say that I am fairly new to Julia, so I apologise in advance if my query is a bit basic.

I am using Julia v1.4 on Atom on WIndows 10.

I am trying to add a set of new packages for an exercise of an online course I am doing on how to use this language. However, when I try to run the command of the first package

Pkg.add("Distributions")

I get back the following error:

Resolving package versions…
ERROR: Unsatisfiable requirements detected for package ZMQ [c2297ded]:
ZMQ [c2297ded] log:
├─ZMQ [c2297ded] has no known versions!
└─found to have no compatible versions left with IJulia [7073ff75]
└─IJulia [7073ff75] log:
├─possible versions are: [1.9.0-1.9.3, 1.10.0, 1.11.0-1.11.1, 1.12.0, 1.13.0, 1.14.0-1.14.1, 1.15.0-1.15.2, 1.16.0, 1.17.0, 1.18.0-1.18.1, 1.19.0, 1.20.0-1.20.2, 1.21.0-1.21.2] or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions [1.9.0-1.9.3, 1.10.0, 1.11.0-1.11.1, 1.12.0, 1.13.0, 1.14.0-1.14.1, 1.15.0-1.15.2, 1.16.0, 1.17.0, 1.18.0-1.18.1, 1.19.0, 1.20.0-1.20.2, 1.21.0-1.21.2]
Stacktrace:
[1] propagate_constraints!(::Pkg.Resolve.Graph, ::Set{Int64}; log_events::Bool) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Resolve\graphtype.jl:1010
[2] propagate_constraints! at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Resolve\graphtype.jl:951 [inlined] (repeats 2 times)
[3] simplify_graph!(::Pkg.Resolve.Graph, ::Set{Int64}; clean_graph::Bool) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Resolve\graphtype.jl:1465
[4] simplify_graph! at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Resolve\graphtype.jl:1465 [inlined] (repeats 2 times)
[5] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:341
[6] targeted_resolve(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Pkg.Types.PreserveLevel) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:1057
[7] tiered_resolve(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:1043
[8] _resolve at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:1063 [inlined]
[9] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Windows) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:1078
[10] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Windows, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:159
[11] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:112
[12] #add#27 at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:109 [inlined]
[13] add at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:109 [inlined]
[14] #add#24 at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:107 [inlined]
[15] add at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:107 [inlined]
[16] add(::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:106
[17] add(::String) at C:\Users\julia\AppData\Local\Julia-1.4.2\share\julia\stdlib\v1.4\Pkg\src\API.jl:106
[18] top-level scope at none:0

I have searched the web before coming here, and have found that other forum users have recommended removing the package that was giving the error (in this case it would be ZMQ [c2297ded]), but I have already removed the packages “Weave” and “Widgets” following that advice and the error persists -just related to other packages. I am not comfortable removing packages I don’t know what are for, scared it might affect the normal functioning of Julia. Should I keep removing all the packages that give me that error until I am able to install the set of packages I want to?

NB: All packages I am trying to add give me the same error, but not only related to ZMQ, but also to VersionParsing [81def892] and StatPlots [60ddc479]. Ironically, StatPlots is one of the packages I am trying to add (and the StatPlots error is the one I get when trying to add Statplots). I have already checked Pkg.status() and StatPlots is not already installed.

I believe I have correctly called Pkg via using Pkg before trying the command Pkg.add("").

Please help me on how to successfully add these packages.

PS: This is also my first time posting in a forum of this sort, I would like to know if my post has a conflict with any convention, or if its readability could have been improved and how.

Thanks in advance!

2 Likes

Welcome @Ivan !
There seems to be something broken.
Packages are easily installed, so what I would do in your case, is:

  • Stop all running Julia/Atom programms
  • Rename the complete .julia directory e.g. into .juliaXXX
    The path is C:\Users\YOUR_USER_NAME\.julia
    rename it to e.g. C:\Users\YOUR_USER_NAME\.juliaXXX
  • start your Julia REPL (in ATOM, Juno, or plain REPL, whatever you prefer)
    This recreates the .julia folder with everything needed.
  • try again: using Pkg; Pkg.add("Distributions")

This should work. After that you may reinstall all other Packages you need.

1 Like

For your first post you did quite well ! :slight_smile:
In general, as you seem to be interested, you may read this: PSA

2 Likes

To check if this is working, I tried with a plain REPL (no Atom,Juno,…) and it worked fast and well.

Within Atom it is also working but it takes much longer, because it installs all needed packages for Juno. Just for your info, during reinstalling in Atom/Juno the REPL seems to freeze, you have to be patient.

Thanks a lot @oheil !

I had a lot of error messages while Julia was cloning everything, but all of them seem to be automatically solved by the programme, and everything worked well in the end.

I got a different error for one of my packages (StatPlots):

Unable to automatically install ‘libvorbis’ from ‘C:\Users\ivica.juliapro\JuliaPro_v1.4.2-1\packages\libvorbis_jll\w6BAr\Artifacts.toml’

Note that the folder in my case was not .julia but .juliapro, which I changed to .juliapro1

I am sure I will manage to solve this error and use the package, I’m sure it has nothing to do with the previous error I was getting; the rest of packages were successfully added.

How do you open a plain REPL without Atom? I tried to do that at first and downloaded the app JuliaPro, but when I ran it the first time it was Atom what opened. I didn’t even know what Atom was at that point, but after checking that everything was working as I expected it to do, and after reading about what Atom was I thought it was just the ‘normal’ way to run Julia.

Oops, ok, I didn’t expected that JuliaPro is used here and I am not sure if my advice is a good idea for JuliaPro, because it is a little bit different.

Maybe its best if you use plain Julia as found here: Download Julia
But this may depend on your online course you are taking. After installing you will have a Julia Symbol to start the plain Julia REPL I was talking about.

1 Like