I am trying to update libcurl on a RHEL 6 server by means of yum update libcurl
. When I do this I get the following error:
Resolving Dependencies
--> Running transaction check
---> Package libcurl.x86_64 0:7.19.7-40.el6_6.4 will be updated
--> Processing Dependency: libcurl = 7.19.7-40.el6_6.4 for package: libcurl-devel-7.19.7-40.el6_6.4.x86_64
---> Package libcurl.x86_64 0:7.19.7-46.el6 will be an update
--> Running transaction check
---> Package libcurl-devel.x86_64 0:7.19.7-40.el6_6.4 will be updated
---> Package libcurl-devel.x86_64 0:7.19.7-46.el6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================
Updating:
libcurl x86_64 7.19.7-46.el6 xxx-patch-nonprod-rhel-6 168 k
Updating for dependencies:
libcurl-devel x86_64 7.19.7-46.el6 xxx-patch-nonprod-rhel-6 246 k
Transaction Summary
===============================================================================================================================================================================
Upgrade 2 Package(s)
Total size: 415 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
libcurl(x86-64) = 7.39.0-1.0.cf.rhel6 is needed by (installed) curl-7.39.0-1.0.cf.rhel6.x86_64
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
curl-7.39.0-1.0.cf.rhel6.x86_64 has missing requires of libcurl(x86-64) = ('0', '7.39.0', '1.0.cf.rhel6')
Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx-2015-08-11-12-01SQI5ei.yumtx
Any suggestions how I could resolve this?
Best Answer
Your system has a copy of
curl
from the third partycity-fan
repository installed. Unfortunately someone didn't install it correctly and itslibcurl
dependency does not match the version ofcurl
, becauselibcurl
is still the one shipped by Red Hat.How you resolve this depends on whether you really intended to use the
city-fan
copy ofcurl
, or whether it should be removed and replaced with the Red Hat distributed version.If you intend to use
city-fan
then enable its repository (which is either disabled or not present) and try your original command again. I do not recommend using this repository unless you know exactly what you are doing and can resolve the dependency issues which are certain to follow. (If you could, you wouldn't be here right now, so I strongly recommend against using this repo.)If you intend to use the Red Hat distributed software, remove the
city-fan
repository if it is present, and runyum distro-sync
. Note that in addition to replacing the third party package, this will also bring the system up to date.