Error installing artifact dependency

I just installed Julia 1.6.0 and was installing a basic set of packages when I got the error below when trying to install Plots.jl

(@v1.6) pkg> add Plots
   Resolving package versions...
  Downloaded artifact: XML2
  Downloaded artifact: XML2
ERROR: Unable to automatically install 'XML2' from 'C:\Users\<username_redacted>\.julia\packages\XML2_jll\Slt3Q\Artifacts.toml'

Some Googling led me to similar error messages in an issue and a suggestion to try manually determining the underlying error using DebugArtifacts.jl. This resulted in a more meaningful error message:

Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

What is odd is that I do not get this error message in my Julia 1.5.2 installation. I am running this on a work laptop that uses a MITM SSL proxy so I’m guessing this has something to do with how local trusted root certificates are set up and new use of libcurl in Julia 1.6 for downloads. Does anyone know of a workaround for this issue? What’s rather odd is that this only happens for Artifact downloads…I would have thought this kind of certificate issue would have affected any HTTPS connection, but I am able to install “pure” Julia packages that don’t have any binary dependencies without any issues.

@StefanKarpinski this is interesting: download used to work in Julia v1.5, but not v1.6. Any clue?

@bencherian I believe you’re experiencing the same issue as Julia 1.6 libcurl firewall download issue: Windows Schannel certificate revocation check failure, try setting

ENV["JULIA_SSL_NO_VERIFY_HOSTS"] = "github.com"

or the other solutions suggested there

4 Likes

Thanks @giordano. I was looking for the equivalent of curl -k. That fixed the artifact download issue. I don’t really see a good explanation for why this is needed for artifact downloads.

For future reference for others. I also have an similar issue relating to registry updates. In Julia 1.6, I also get the following error when trying to update the registry:

(@v1.6) pkg> registry up
    Updating registry at `C:\Users\<username_redacted>\.julia\registries\General`
┌ Warning: could not download https://pkg.julialang.org/registries
â”” @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\Types.jl:976

The same command works fine in my Julia 1.5 installation. If I set the same environment variable for the registry server, it is able to update.

ENV["JULIA_SSL_NO_VERIFY_HOSTS"] = "pkg.julialang.org"