Error: Multilib version problems found

Kovács Ákos asked:

What causes this 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 glibc which is missing some
            dependency that another package requires. Yum is trying to
            solve this by installing an older version of glibc 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 glibc.otherarch ... this should give you an error
            message showing the root cause of the problem.

         2. You have multiple architectures of glibc 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 glibc installed already.
            You can use "yum check" to get yum show these errors. 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: glibc-2.12-1.107.el6_4.5.i686 != glibc-2.12-1.107.el6_4.2.x86_64 Error: Protected multilib versions: db4-4.7.25-18.el6_4.i686 != db4-4.7.25-17.el6.x86_64  You could try using --skip-broken to work around the problem
** Found 10 pre-existing rpmdb problem(s), 'yum check' output follows:
32:bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64 is a duplicate with 32:bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64
chkconfig- is a duplicate with chkconfig-
db4-4.7.25-18.el6_4.x86_64 is a duplicate with db4-4.7.25-17.el6.x86_64
12:dhcp-common-4.1.1-34.P1.el6_4.1.x86_64 is a duplicate with 12:dhcp-common-4.1.1-34.P1.el6.centos.x86_64
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.2.x86_64
glibc-common-2.12-1.107.el6.x86_64 has missing requires of glibc = ('0', '2.12', '1.107.el6')
glibc-common-2.12-1.107.el6_4.2.x86_64 is a duplicate with glibc-common-2.12-1.107.el6.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.2.x86_64
krb5-libs-1.10.3-10.el6_4.6.x86_64 is a duplicate with krb5-libs-1.10.3-10.el6_4.4.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch

I answered:

This occurs when a previous yum transaction was interrupted while updating packages. If your system is not too far out of whack, and/or you haven’t run any other yum transactions since the interrupted one, you can just run yum-complete-transaction to fix it.

If that fails, any other options are much more invasive, and since they involve critical system libraries like glibc, any problem with getting these back in sync would leave the system unusable. Your best bet at that point would be to reinstall the system.

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.