Pkg.update fail SSL

Hi everyone,
I’m trying to Pkg.update() a project / env I’m working on and I get the following error:

ERROR: GitError(Code:ERROR, Class:SSL, Your Julia is built with a SSL/TLS engine that libgit2 doesn't know how to configure to use a file or directory of certificate authority roots, but your environment specifies one via the 
SSL_CERT_FILE variable. If you believe your system's root certificates are safe to use, you can `export JULIA_SSL_CA_ROOTS_PATH=""` in your environment to use those instead.)

I was working on the 1.10.2 version and tried updating juliaup to 1.10.3. This is the current installation info:

julia> versioninfo()
Julia Version 1.10.3
Commit 0b4590a550 (2024-04-30 10:59 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, tigerlake)
Threads: 4 default, 0 interactive, 2 GC (on 8 virtual cores)
Environment:
  JULIA_NUM_THREADS = 4
  JULIA_EDITOR = code

I’ve been working in this environment for more than a 1 year and I haven’t made any significant changes recently. What might have triggered this error?

Is this environment variable set?

What is the output of ENV["SSL_CERT_FILE"] in Julia?

its
C:\\Users\\userID\\Anaconda3\\Library\\ssl\\cacert.pem
when running it from this particular env.
From base 1.10 i get:

julia> ENV["SSL_CERT_FILE"]
ERROR: KeyError: key "SSL_CERT_FILE" not found
Stacktrace:
 [1] (::Base.var"#717#718")(k::String)
   @ Base .\env.jl:156
 [2] access_env(onError::Base.var"#717#718", str::String)
   @ Base .\env.jl:32
 [3] getindex(::Base.EnvDict, k::String)
   @ Base .\env.jl:156
 [4] top-level scope
   @ REPL[1]:1

Moreover, when trying to update particular packages in the environment I get the following error:

my_env> status
Status `C:\Users\userID\OneDrive\Project.toml`
  [336ed68f] CSV v0.10.14
⌃ [13f3f980] CairoMakie v0.11.10
⌃ [35d6a980] ColorSchemes v3.24.0
  [a93c6f00] DataFrames v1.6.1
  [0c46a032] DifferentialEquations v7.13.0
⌃ [31c24e10] Distributions v0.25.108
⌃ [e9467ef8] GLMakie v0.9.10
  [cc18c42c] GaussianMixtures v0.3.9
  [e4b2fa32] GaussianRandomFields v2.2.4
  [87dc4568] HiGHS v1.9.0
⌃ [20393b10] InfiniteOpt v0.5.8
  [a98d9a8b] Interpolations v0.15.1
  [b6b21f68] Ipopt v1.6.2
  [c8e1da08] IterTools v1.10.0
  [0f8b85d8] JSON3 v1.14.0
⌃ [4076af6c] JuMP v1.21.1
  [67920dd8] KNITRO v0.14.2
  [b964fa9f] LaTeXStrings v1.3.1
⌃ [23992714] MAT v0.10.6
⌅ [ee78f7c6] Makie v0.20.9
⌃ [b8f27783] MathOptInterface v1.29.0
  [01bcebdf] Nonconvex v2.1.3
  [bf347577] NonconvexIpopt v0.4.3
  [b43a31b8] NonconvexNLopt v0.1.8
  [d96e819e] Parameters v0.12.3
⌃ [ccf2f8ad] PlotThemes v3.1.0
  [995b91a9] PlotUtils v1.4.1
  [c46f51b8] ProfileView v1.7.2
  [295af30f] Revise v3.5.14
  [c946c3f1] SCS v2.0.0
  [99342f36] StateSpaceModels v0.6.7
⌅ [2913bbd2] StatsBase v0.33.21
  [f3b207a7] StatsPlots v0.15.7
  [9e3dc215] TimeSeries v0.24.2
  [fdbf4ff8] XLSX v0.10.1
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random
  [10745b16] Statistics v1.10.0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by 
compatibility constraints from upgrading. To see why use `status --outdated`

if I try to update Makie, for example,

(my_env) pkg> update Makie
    Updating registry at `C:\Users\userID\.julia\registries\General.toml`
ERROR: Unsatisfiable requirements detected for package Pixman_jll [30392449]:
 Pixman_jll [30392449] log:
 ├─possible versions are: 0.38.4-0.43.4 or uninstalled
 ├─restricted to versions 0.42.2 by an explicit requirement, leaving only versions: 0.42.2
 └─restricted by compatibility requirements with Cairo_jll [83423d85] to versions: 0.43.4 — no versions left
   └─Cairo_jll [83423d85] log:
     ├─possible versions are: 1.14.12-1.18.0 or uninstalled
     └─restricted to versions 1.18.0 by an explicit requirement, leaving only versions: 1.18.0

Do you have an active (ana)conda environment active?

in the same folder you mean?

I have the same issue attempting to include a locally developed package, and yes, there is an active Conda environment running through PyCall.jl

1 Like

Hi!
Long time on this.
In the end my issue stem from the following.
My project env. is a OneDrive folder which I regularly use from my laptop (analysis) and a remote VM (for long simulations). The Julia version was different between the two and that screwed up the updates.

I updated both Julia installations to 1.10.4 and the issue was solved.

1 Like