Bug 1029586

Summary: curl update throws error
Product: Red Hat Enterprise Linux 6 Reporter: Gopikannan Ellappan <gopikannan.ellappan>
Component: curlAssignee: Kamil Dudka <kdudka>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: gopikannan.ellappan
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-12 20:29:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Gopikannan Ellappan 2013-11-12 16:38:00 UTC
Description of problem:

I'm trying to do createrepo via yum, i'm getting the below error,

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

   /usr/lib64/libcurl.so.4: undefined symbol: libssh2_scp_send64

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.6.6 (r266:84292, May  1 2012, 13:52:17)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)]

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

Traceback (most recent call last):
  File "/usr/share/createrepo/genpkgmetadata.py", line 28, in <module>
    import createrepo
  File "/usr/lib/python2.6/site-packages/createrepo/__init__.py", line 21, in <module>
    import yumbased
  File "/usr/lib/python2.6/site-packages/createrepo/yumbased.py", line 27, in <module>
    from yum.packages import YumLocalPackage
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 52, in <module>
    import config
  File "/usr/lib/python2.6/site-packages/yum/config.py", line 30, in <module>
    from parser import ConfigPreProcessor, varReplace
  File "/usr/lib/python2.6/site-packages/yum/parser.py", line 4, in <module>
    import urlgrabber
  File "/usr/lib/python2.6/site-packages/urlgrabber/__init__.py", line 54, in <module>
    from grabber import urlgrab, urlopen, urlread
  File "/usr/lib/python2.6/site-packages/urlgrabber/grabber.py", line 427, in <module>
    import pycurl
ImportError: /usr/lib64/libcurl.so.4: undefined symbol: libssh2_scp_send64

Version-Release number of selected component (if applicable):

Red Hat Enterprise Linux Server release 6.3 (Santiago)

root@node1> cat redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
root@node1>rpm -qa|egrep -i "curl|libssh|create"
python-pycurl-7.19.0-8.el6.x86_64
libcurl-7.19.7-37.el6_4.x86_64
libssh2-1.2.2-7.el6_2.3.x86_64
createrepo-0.9.9-17.el6.noarch
curl-7.19.7-37.el6_4.x86_64
root@node1> 

How reproducible:

Always

Expected results:

Please tell me how to avoid this error, Is it something I should upgrade here or something is corrupted.

Additional info:

I'm getting this error and its reproducible in my machine many times.
But my colleague informed me that, he didn't face any issues and he has done the same steps what I've done now.

Please let me know if you need any other details.

Comment 1 Kamil Dudka 2013-11-12 17:00:11 UTC
Please provide the output of the following command:

rpm -q libcurl --requires | grep ssh

Comment 2 Gopikannan Ellappan 2013-11-12 17:07:31 UTC
root@node1> rpm -q libcurl --requires |grep ssh
libssh2(x86-64) >= 1.4.2
libssh2.so.1()(64bit)  
root@node1>

I got it, Now I need to install 1.4.2 version of libssh2.

I will try this and let you know the result.  Thank you !

Comment 3 Kamil Dudka 2013-11-12 17:16:30 UTC
Your system apparently suffers from broken RPM dependencies.  You have installed libcurl, which requires libssh2(x86-64) >= 1.4.2 despite you have no such package installed on your system.  How did you upgrade libcurl?

Comment 4 Gopikannan Ellappan 2013-11-12 17:19:30 UTC
here we have the older version of libssh2.

libssh2-1.2.2-7.el6_2.3.x86_64

So I should update, correct ?

Comment 5 Kamil Dudka 2013-11-12 17:24:29 UTC
Yes.  But I do not understand how you installed libcurl-7.19.7-37.el6_4.x86_64 without installing a new enough version of libssh2 first.  Neither yum, nor rpm would allow it by default.

Comment 6 Gopikannan Ellappan 2013-11-12 17:47:31 UTC
Even I'm not sure, how it got installed since this is the first time I'm using this machine..!!
Anyways - my issue got solved. 

Thanks for your quick help and I will let you know if I get any updates from my colleagues abt the installation.

Comment 8 Kamil Dudka 2013-11-12 20:29:03 UTC
The libcurl package correctly requires a new enough version of libssh2 in order to prevent the above reported broken linkage.  For some reason, the packages installed on the system did not satisfy the dependency.  There is nothing to be fixed in curl or libssh2 packages, therefore I am closing this bug.