OpenSSL v3 Support Released

I recently introduced OpenSSL_jll v3.0.8. Before doing so, we added a version cap to existing packages that use OpenSSL.

Support in OpenSSL.jl for OpenSSL v3 is now under review. Support for OpenSSL v1.1 is maintained within this package. Please test.


Update. @quinnj has merged the OpenSSL v3 support into the master branch of OpenSSL.jl. It’s not been released yet though (no rush).

You can test the package(s) via the following commands.

using Pkg
Pkg.activate(; temp = true)
Pkg.status("OpenSSL_jll"; mode=PKGMODE_MANIFEST)

The status command should report OpenSSL_jll v3:

  [458c3c95] OpenSSL_jll v3.0.8+0

Thanks to Jacob Quinn, OpenSSL.jl v1.4.0 has been released with support for OpenSSL_jll v3.0.8.

Just adding OpenSSL to your environment by itself will result in the automatic installation of OpenSSL_jll v3.0.8

(jl_mclBnN) pkg> add OpenSSL
  [4d8831e6] + OpenSSL v1.4.0
  [458c3c95] + OpenSSL_jll v3.0.8+0

However, it is also possible to use OpenSSL v1.4.0 with OpenSSL_jll v1.1.x:

(jl_mclBnN) pkg> add OpenSSL OpenSSL_jll@1.1
   Resolving package versions...
    Updating `/tmp/jl_mclBnN/Project.toml`
⌃ [458c3c95] + OpenSSL_jll v1.1.20+0
    Updating `/tmp/jl_mclBnN/Manifest.toml`
⌃ [458c3c95] ↓ OpenSSL_jll v3.0.8+0 ⇒ v1.1.20+0

Just following up here from a Slack thread regarding some self-inflicted problems I encountered related to this update. I had slightly different problems on two different systems (why have one when you can have two?), but both were related to have old registries in various directories of DEPOT_PATH.

On the first system, I had an old-but-renamed copy of the General registry in my ~/.julia/registries directory. That was easily cleared by by removing that old, unwanted clone.

In the second system, it turns out I had old General.toml and General.tar.gz files in one of the system-wide DEPOT_PATH directories. This was causing some confusion (for both me and Pkg apparently) such that the OpenSSL_jll version caps were not being recognized/honored so packages like FFMPEG_jll couldn’t load (which broke Plots!). Part of the confusion was caused because ]registry status only showed one General registry even though I had two different sets of General.toml and General.tar.gz files on DEPOT_PATH. Removing the older set of files (from the system-wide depot directory) resolved the problem.

Thanks go to @mkitti and @giordano for helping me get to the bottom of it! :heart:

1 Like

A useful diagnostic may be to run the following.

julia> for path in joinpath.(DEPOT_PATH, "registries")
           if isdir(path)
               println.(joinpath.(path, readdir(path)))

Only a single General.tar.gz and General.toml should be present.

1 Like