Git push error: "OpenSSL version mismatch. Built against 30000070, you have 30200000"

Hi. As of yesterday, I can no suddenly no longer push with git. I have git and openssl from the official repositories. I am using the unstable branch of Manjaro. I’ve double-checked the installed packages and which git binary is being used when executing git on the command line. Here’s terminal output showing that and the error message when trying to execute git.

[alex@alex-pc AutoGear]$ pacman -Qi git
Name            : git
Version         : 2.38.1-2
Description     : the fast distributed version control system
Architecture    : x86_64
URL             : https://git-scm.com/
Licenses        : GPL2
Groups          : None
Provides        : None
Depends On      : curl  expat  perl  perl-error  perl-mailtools  openssl  pcre2  grep  shadow  zlib
Optional Deps   : tk: gitk and git gui [installed]
                  perl-libwww: git svn [installed]
                  perl-term-readkey: git svn and interactive.singlekey setting
                  perl-io-socket-ssl: git send-email TLS support [installed]
                  perl-authen-sasl: git send-email TLS support
                  perl-mediawiki-api: git mediawiki support
                  perl-datetime-format-iso8601: git mediawiki support
                  perl-lwp-protocol-https: git mediawiki https support
                  perl-cgi: gitweb (web interface) support
                  python: git svn & git p4 [installed]
                  subversion: git svn [installed]
                  org.freedesktop.secrets: keyring credential helper [installed]
                  libsecret: libsecret credential helper [installed]
Required By     : flutter  gitlab  gitlab-shell  libpamac  rabbitvcs  steamtinkerlaunch  thunar-vcs-plugin-git  yay
Optional For    : aconfmgr-git  android-studio-beta  gettext  kate  ktexteditor  pass
Conflicts With  : None
Replaces        : None
Installed Size  : 37.24 MiB
Packager        : Felix Yan <felixonmars@archlinux.org>
Build Date      : Tue 01 Nov 2022 09:14:13 PDT
Install Date    : Sat 05 Nov 2022 00:00:19 PDT
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : Signature
[alex@alex-pc AutoGear]$ pacman -Qi openssl
Name            : openssl
Version         : 3.0.7-2
Description     : The Open Source toolkit for Secure Sockets Layer and Transport Layer Security
Architecture    : x86_64
URL             : https://www.openssl.org
Licenses        : Apache
Groups          : None
Provides        : libcrypto.so=3-64  libssl.so=3-64
Depends On      : glibc
Optional Deps   : ca-certificates [installed]
                  perl [installed]
Required By     : ajour-git  apache  bind  coreutils  cryptsetup  curl  dotnet-runtime-3.1-bin  dotnet-runtime-bin  dump_syms  erlang-nox  freerdp  git  gitlab  gnustep-base
                  gst-plugins-bad  hexchat  hfsprogs  idevicerestore  img4tool-git  kmod  ldns  lib32-openssl  libarchive  libcurl-compat  libevent  libfido2
                  libfirmware-manager-git  libgit2  libimobiledevice-git  librabbitmq-c  libsasl  libshout  libssh  libssh2  libtorrent-rasterbar  libtpms  libvncserver
                  libwebsockets  libzip  links  lynx  mariadb-libs  minizip-ng  nmap  nodejs  ntp  openrct2  openssh  openvpn  opusfile  ostree  partimage  perl-net-ssleay
                  pipewire-zeroconf  pkcs11-helper  poco  podofo  postgresql-libs  ppp  python  rsync  ruby  ruby2.7  ruffle-nightly-bin  s-nail  sane  socat  sqlcipher  srt
                  strongswan  sudo  systemd  tcpdump  tpm2-tss  unarchiver  uxplay-git  virtualbox  vpnc  w3m  wpa_supplicant  xmlsec
Optional For    : apr-util
Conflicts With  : None
Replaces        : openssl-perl  openssl-doc
Installed Size  : 10.69 MiB
Packager        : Pierre Schmitz <pierre@archlinux.de>
Build Date      : Tue 01 Nov 2022 11:21:33 PDT
Install Date    : Sat 05 Nov 2022 00:00:15 PDT
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature
[alex@alex-pc AutoGear]$ which git
/usr/bin/git
[alex@alex-pc AutoGear]$ git push AlexFolland
OpenSSL version mismatch. Built against 30000070, you have 30200000
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
[ble: exit 128]
[alex@alex-pc AutoGear]$

I’m not sure if this is an issue in the unstable branch itself, or if something got messed up on my system. Any help is appreciated.

I can’t reproduce it on two machines. :man_shrugging:

3 Likes

Thanks for saying so and trying. That’s good to know, so I won’t try waiting on a fix, since it must be just my system. I’ll have to investigate.

That being said, I’m not that savvy in this kind of stuff. Developer tools have always just worked for me before now, so this is the first time I’ve seen something like this. Does anyone have any tips for investigating this, beyond the basics I’ve already done?

What about ssh? Does it work? I’d try reinstalling all 3.

Interesting. I tried to ssh into my dedicated server (domain name hidden for privacy) which I haven’t tried in a while and that’s showing the same error as git.

[alex@alex-pc AutoGear]$ ssh alex@hidden.domain.name
OpenSSL version mismatch. Built against 30000070, you have 30200000
[ble: exit 255]
[alex@alex-pc AutoGear]$

What’s the recommended way to reinstall all 3 of git, ssh, and openssl? They’re all dependencies for many packages, so I’m not sure how to handle that cleanly with 1 command.

Edit: I tried sudo pacman -S openssh openssl git, which said it reinstalled them, then tried the ssh command above again, and got the same error.

Post

pacman -Qi openssh
ldd /usr/bin/ssh
[alex@alex-pc AutoGear]$ pacman -Qi openssh
Name            : openssh
Version         : 9.1p1-3
Description     : SSH protocol implementation for remote login, command execution and file transfer
Architecture    : x86_64
URL             : https://www.openssh.com/portable.html
Licenses        : custom:BSD
Groups          : None
Provides        : None
Depends On      : glibc  krb5  libkrb5.so=3-64  libgssapi_krb5.so=2-64  ldns  libedit  libxcrypt  libcrypt.so=2-64  openssl  pam  libpam.so=0-64  zlib
Optional Deps   : libfido2: FIDO/U2F support [installed]
                  x11-ssh-askpass: input passphrase in X [installed]
                  xorg-xauth: X11 forwarding [installed]
Required By     : asbru-cm  gcr  gcr-4  gitlab  gnome-keyring  openssh-askpass  sshfs
Optional For    : asbru-cm  gnome-control-center  openmpi
Conflicts With  : None
Replaces        : None
Installed Size  : 4.22 MiB
Packager        : Evangelos Foutras <foutrelis@archlinux.org>
Build Date      : Tue 01 Nov 2022 13:29:32 PDT
Install Date    : Thu 10 Nov 2022 11:09:37 PST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature
[alex@alex-pc AutoGear]$ which ssh
/usr/bin/ssh
[alex@alex-pc AutoGear]$ ldd /usr/bin/ssh
	linux-vdso.so.1 (0x00007fffac9bd000)
	libcrypto.so.3 => /usr/local/lib/libcrypto.so.3 (0x00007f2cf6800000)
	libldns.so.3 => /usr/lib/libldns.so.3 (0x00007f2cf6795000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f2cf6741000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f2cf6d1f000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007f2cf655a000)
	libssl.so.3 => /usr/local/lib/libssl.so.3 (0x00007f2cf64ac000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f2cf63d4000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f2cf63a6000)
	libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f2cf6d17000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f2cf6d09000)
	libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007f2cf639f000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f2cf638d000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f2cf6e4d000)

And we have a winner. This is not the normal openssl library from the repo package. It is something you installed manually.

5 Likes

Here is your problem. Oops, @xabbu was faster. :stuck_out_tongue:

3 Likes

Oh, great! Thanks! With all this info and your catch, I could find the owning package, which I guess must have been installed as a changed dependency somewhere, remove it since it was not a dependency for anything, and git push works now!

[alex@alex-pc AutoGear]$ pacman -Qqo '/usr/local/lib/libssl.so.3'
openssl3-git
[alex@alex-pc AutoGear]$ yay -R openssl3-git
checking dependencies...

Packages (1) openssl3-git-3.0.7.r1844.gce74e3fb50-1

Total Removed Size:  5.70 MiB

:: Do you want to remove these packages? [Y/n] Y
:: Running pre-transaction hooks...
(1/1) Pre-Upgrade Pacback Hook
Creating Snapshot...
Snapshot Creation Complete!
:: Processing package changes...
(1/1) removing openssl3-git                                                                                [################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[alex@alex-pc AutoGear]$ which ssh
/usr/bin/ssh
[alex@alex-pc AutoGear]$ git push AlexFolland
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 822 bytes | 822.00 KiB/s, done.
Total 6 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (4/4), completed with 2 local objects.
To github.com:AlexFolland/AutoGear.git
   06d6dd7..ede7763  master -> master
[alex@alex-pc AutoGear]$

I’ve also tried ssh and that works too. Thanks for all the help, everyone.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.