4

I have a git repository on an external hard drive mounted on /run/media/<myusername>/<drivename>. When I try to push the code to the online github repo with git push -u origin master I get the following error:

/usr/bin/ssh: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
fatal: Could not read from remote repository.

Thinking that something was broken in krb5-libs or git, I tried pushing another different repo located in my /home/<username> folder but it worked.

What's wrong with having repositories on an external hard drive? How could I fix the previous error?

I'm on Fedora 32 Kernel 5.6.18-300.fc32.x86_64.

2 Answers 2

4

The problem you're seeing here is that the version of the Kerberos 5 libraries and the version of OpenSSL you're using are incompatible.

On most distros, OpenSSH is compiled with Kerberos 5 support. The libraries used for cryptography for Kerberos are linked with OpenSSL in your case.

The reason pushing to another repo in your home directory works is because Git doesn't use the ssh command for that and hence you don't see any problems. If you tried to use ssh to log into another system, you would see the same problem. There is nothing intrinsically wrong with having repositories on another drive, either; that's a red herring.

You should reinstall the krb5-libs and openssl packages first, and see if that works. If you've installed any local copies of OpenSSL or Kerberos (look in /usr/local/lib and /usr/local/lib64), then delete them and run ldconfig.

You may also find it instructive to run ldd $(which ssh) to find the locations of any libraries that OpenSSH is using, and delete any which are not shipped by Fedora.

2
  • 4
    I discovered that in order to use a specific command line tool, I sourced a bash file that changes LD_LIBRARY_PATH and PATH via export command. I solved it by simply opening another terminal tab where these environment variables were correct. Thanks anyway.
    – DarthVi
    Jun 25, 2020 at 14:55
  • @DarthVi, Same issue. I also changed the LD_LIBRARY_PATH.
    – GoingMyWay
    Sep 5, 2023 at 6:44
2

Even on "correctly" configured systems, this and similar error messages may be caused by temporary changes to the system environment. This intermittent behavior can be confusing to troubleshoot, but reverting or avoiding the problematic environment changes should correct the issue.

Examples:

  • On SLURM systems, module load-ing certain software may mis-configure the environment for git, yielding this error. If loading a module causes this error, module del <the_module> should resolve the problem.
  • OP's issue was caused by modifying environment variables. A "fresh" terminal session (with original env configuration) corrected the issue, as would reverting the affected environment variables.
2
  • The SLURM note helped me. Specifically, the anaconda3 module that I was loading was causing the error.
    – dhudsmith
    Aug 3, 2021 at 20:10
  • This was exactly my issue too. In my case, it was the miniconda/3 slurm module that I was loading in my ~/.bashrc that was causing the error. I unloaded the miniconda module, and the git commands work fine now. Feb 28, 2022 at 20:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .