Problem with glibc.i686 after upgrading to 6.5

Richard G

Verified User
Joined
Jul 6, 2008
Messages
12,563
Location
Maastricht
Problem Centos after upgrading to 6.5

After upgrading to Centos 6.5 last night after the server reboot (kernel update) the server hang on a kernel panic.
We had to go back to the previous kernel and then had problems updating yum.
After investigating, the problem was caused by glibc.686 which we use for some applications which need the 32-bit version.

This is what's happening:
--> Running transaction check
---> Package glibc.i686 0:2.12-1.132.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.132.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.132.el6.i686
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.14.3-9.el6 will be installed
--> Finished Dependency Resolution
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.

...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: glibc-2.12-1.132.el6.i686 != glibc-2.12-1.107.el6_4.5.x86_64
Error: Protected multilib versions: nss-softokn-freebl-3.14.3-9.el6.i686 != nss-softokn-freebl-3.14.3-3.el6_4.x86_64
You could try using --skip-broken to work around the problem
** Found 192 pre-existing rpmdb problem(s), 'yum check' output follows:
abrt-libs-2.0.8-21.el6.centos.x86_64 is a duplicate with abrt-libs-2.0.8-16.el6.centos.1.x86_64
abrt-tui-2.0.8-21.el6.centos.x86_64 is a duplicate with abrt-tui-2.0.8-16.el6.centos.1.x86_64
atk-1.30.0-1.el6.x86_64 is a duplicate with atk-1.28.0-2.el6.x86_64
bfa-firmware-3.2.21.1-2.el6.noarch is a duplicate with bfa-firmware-3.0.3.1-1.el6.noarch
biosdevname-0.5.0-2.el6.x86_64 is a duplicate with biosdevname-0.4.1-3.el6.x86_64
etc. etc.

I already tried a yum clean all and distro-sync but that would not help.
So then I tried the following:
Code:
rpm -qa --qf '%{name}-%{version}.%{release}.%{arch}\n' glibc\*
glibc-devel-2.12.1.132.el6.x86_64
glibc-devel-2.12.1.107.el6_4.5.x86_64
glibc-headers-2.12.1.107.el6_4.5.x86_64
glibc-common-2.12.1.132.el6.x86_64
glibc-common-2.12.1.107.el6_4.5.x86_64
glibc-2.12.1.107.el6_4.5.x86_64
glibc-2.12.1.132.el6.x86_64
glibc-headers-2.12.1.132.el6.x86_64

As you can see, there are some double entry's of different versions. Strange thing though is that on 2 other servers the updates went without any problem at all.

I also tried:
yum reinstall glibc-2.12.1.132.el6.x86_64 glibc-common-2.12.1.132.el6.x86_64

But that resulted in:
No Match for argument: glibc-2.12.1.132.el6.x86_64
No Match for argument: glibc-common-2.12.1.132.el6.x86_64

On centos.org there is somebody else with the exact same problem. Since on 2 other servers there was no problem, I presume this could be cause by specific hardware stuff or something.

Does anybody have a clue on how to fix this problem, and remove the older versions mentioned here or something, so things can be fixed?
 
Last edited:
Seems yum is having the issue.
According to cat release the system is running on Centos 6.5.
But according to yum the centos release is still at 6.4. Is there an easy solution to that?
 
If somebody has this exact same problem when an upgrade goes wrong, then follow these steps:

1.) yum install yum-utils
2.) yum-complete-transaction
3.) yum clean metadata
4.) yum clean all
5.) package-cleanup --dupes (and check if only the dupes are listed)
6.) package-cleanup --cleandupes
7.) yum check (and see if it stops without any errors).

Maybe not all these steps are needed, but I did them like this and things are fixed.
 
Back
Top