Packages' update via yum fails with the following error:
> Error: Multilib version problems found. This often means that the root > cause is something else and multilib version checking is just > pointing out that there is a problem. Eg.: > > 1. You have an upgrade for libcurl which is missing some > dependency that another package requires. Yum is trying to > solve this by installing an older version of libcurl of the > different architecture. If you exclude the bad architecture > yum will tell you what the root cause is (which package > requires what). You can try redoing the upgrade with > --exclude libcurl.otherarch ... this should give you an error > message showing the root cause of the problem. > > 2. You have multiple architectures of libcurl installed, but > yum can only see an upgrade for one of those arcitectures. > If you don't want/need both architectures anymore then you > can remove the one with the missing update and everything > will work. > > 3. You have duplicate versions of libcurl installed already. > You can use "yum check" to get yum show these errors. > > ...you can also use --setopt=protected_multilib=false to remove > this checking, however this is almost never the correct thing to > do as something else is very likely to go wrong (often causing > much more problems). > > Protected multilib versions: libcurl-7.19.7-40.el6_6.3.i686 != libcurl-7.21.3-9.el6.x86_64 > You could try using --skip-broken to work around the problem > ** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows: > libcurl-7.21.3-9.el6.x86_64 is a duplicate with libcurl-7.19.7-36.el6_4.i686
Both x86_64 and i686 versions of libcurl are installed and have different versions:
# rpm -q libcurl libcurl-7.19.7-36.el6_4.i686 libcurl-7.21.3-9.el6.x86_64
The one available in repositories is i686 but it is still older than 7.21.3-9
# yum -q list available libcurl Available Packages libcurl.i686 7.19.7-40.el6_6.3 updates
Installed version is different than the one available on the repository:
# rpm -q rrdtool rrdtool-1.4.4-1.wrl.i386 # yum -q list available rrdtool Available Packages rrdtool.i686 1.3.8-7.el6 base rrdtool.x86_64 1.3.8-7.el6 base
Check if both x68_64 and i686 versions are used (you can try removing them with
rpm -e --test command to see if it shows any dependency errors). If one of those is not used and not needed - remove it.
If both are used and needed then either find and install
7.21.3-9 version of i686 or downgrade x86_64 one to the version
7.19.7-40 or run exclude this package from update list:
# yum --exclude libcurl update
Same approach can be used for other packages too.