OpenSSL version mismatch (3.0 vs 3.5) -> Problems with Documenter.jl + Git running in the official Julia Docker image

Our CI jobs which deploy the docs via Documenter.jl using the official Julia Docker image (e.g julia:1.11) started to fail a couple of days ago and I noticed that the problem is a version conflict between the system’s OpenSSL version 3.0 and the Git_jll instantiated by Julia, which is pulling OpenSSL_jll version 3.5.

The actual error is:

OpenSSL version mismatch. Built against 300000f0, you have 30500000
fatal: Could not read from remote repository.

Here is a small(ish) repository where you can investigate the details:
Tamas Gal / DocumenterTest.jl · GitLab (the failing job log is here: docs (#341106) · Jobs · Tamas Gal / DocumenterTest.jl · GitLab)

The problem is obviously a dynamic linking version mismatch caused by git on the system and presumable Git_jll from Julia.

Any JLL binary distribution experts with some ideas how to solve this? :wink:

Relevant but not with the “correct/real” solution: Deploying docs error - OPENSSL version missmatch where an upgrade of the Ubuntu base image solved it → it comes with OpenSSL 3.5 already, so there is no conflict.

2 Likes

But I’m very confused by the error message, I don’t understand what’s the difference between Ubuntu 22.04 and 24.04, both come with OpenSSL 3.0 according to repology (also, don’t know why the system would be relevant)

Yes I already linked that post but it does not solve the original issue, which is: Julia manages to mix up OpenSSL versions.

Ah OK, I just assumed that it comes with OpenSSL 3.5. I guess the problem is then solved in a different way.

EDIT: (sorry for the spam) it might be that the presence/absence of Git on the system is “hiding” the mix-up

1 Like

Frankly, I’m also clueless, I was randomly trying things and this one just worked.

I don’t know how exactly the GitHub action works to install Julia but I assume that git will not be installed on the system, so that Documenter.jl will probably use the Git_jll executable, but it’s still confusing. The current Git_jll lists OpenSSH_jll 3.0.16 in its dependencies, so I have no clue where the version mismatch with OpenSSH 3.5 is coming from.

I don’t even know where to open an issue, but I think this issue could be present in other binary/library combinations as well!

1 Like

Since all the other Git-related operations (Package registry, cloning etc.) seem to work fine, I think that the problem originates from Documenter.jl

I tentatively opened an issue there with a short summary: OpenSSL version mismatch (3.0 vs 3.5) · Issue #2698 · JuliaDocs/Documenter.jl · GitHub

2 Likes