Thursday, April 28, 2022

[SOLVED] CentOS yum fails with libcurl.so.4 error saying 'undefined symbol: libssh2_agent_disconnect'

Issue

I am using CentOS 7 and tried to use yum but it failed. Earlier, I installed curl and other things, but it looks like the libcurl is making an error.

Whenever I try:

# yum

The result is:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   /lib64/libcurl.so.4: undefined symbol: libssh2_agent_disconnect

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Apr  9 2019, 14:30:50) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

I tried removing the library, but it does not help. Can anyone find the solution please?


Solution

The problem was a symbolic link issue.

The following commands solved it.

ldd -r /usr/lib64/libcurl.so.4

rm /usr/local/lib/libssh2.so.1

I looked if there is any broken symbolic link with the libcurl and I found one and removed it.



Answered By - David YK Han
Answer Checked By - Dawn Plyler (WPSolving Volunteer)