[CentOS] yum problem with glibc

Timothy Murphy gayleard at eircom.net
Fri May 25 14:01:01 UTC 2012


Johnny Hughes wrote:

First, thanks very much for continuing to help me.

> On 05/23/2012 04:41 PM, Timothy Murphy wrote:
>> Johnny Hughes wrote:
>>
>>>> -------------------------------
>>>> Error: Protected multilib versions: glibc-2.12-1.47.el6_2.12.x86_64 !=
>>>> glibc-2.12-1.47.el6_2.9.i686
>>>> ** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
>>>> bash-4.1.2-9.el6_2.x86_64 is a duplicate with
>>>> bash-4.1.2-8.el6.centos.x86_64 glibc-common-2.12-1.47.el6_2.12.x86_64
>>>> is a duplicate with glibc- common-2.12-1.47.el6_2.9.x86_64
>>>> glibc-common-2.12-1.47.el6_2.12.x86_64 has missing requires of glibc =
>>>> ('0', '2.12', '1.47.el6_2.12')
>>>> -------------------------------

>>> You have both the i686 and x86_64 versions of glibc installed.  That
>>> error means that the repo you are trying to update from has a different
>>> version of i686 glibc and x86_64 glibc ... or you are trying to upgrade
>>> one (the x86_64 version) and not the other (the i686 version).
>>>
>>> Since multilib installs share some files (all the Documentation, etc.),
>>> that means you must install the same version of each arch if you install
>>> both i686 and x86_64 packages.
>> Thank you very much for your response.
>>
>> But I'm afraid I'm not clear what action I can take.
>> I don't like to remove any glibc or glibc-common packages,
>> as I'm afraid it might have a disastrous effect,
>> since they seem to be required by so many other packages,
>> including the kernel.

> Based on your errors, what I would do is this:
> 
> 1.   You only need 1 version of glibc-common.x86_64.  The only way you
> could have gotten into this position is either your machine died in the
> middle of a yum update or someone force installed the later glibc-common
> via the rpm -i command.
> 
> I would first try to install the yum-utils package with this command:

I do have this package installed.

> once that is installed, I would try:
> 
> yum-complete-transaction

When I run this, an enormous list of packages (I think over 300)
that will be deleted appears, eg
---------------------------------
---> Package kdelibs-common.x86_64 6:4.3.4-11.el6_1.4 will be erased
---> Package kernel.x86_64 0:2.6.32-220.2.1.el6 will be erased
---> Package kernel.x86_64 0:2.6.32-220.4.1.el6 will be erased
---> Package kernel.x86_64 0:2.6.32-220.7.1.el6 will be erased
---> Package kernel.x86_64 0:2.6.32-220.13.1.el6 will be erased
---------------------------------
But before I can answer yes or no, the command fails with
---------------------------------
Error: Trying to remove "yum", which is protected
---------------------------------
I still get this error if I say "yum-complete-transaction --exclude=yum"

> I would figure out exactly what packages I had installed for glibc and
> get them all on one version ... you need to be careful with glibc (and
> its sub packages) ... it is the most important package on your machine.

The only glibc* packages listed in /var/log/yum.* are 64-bit, eg
---------------------------------
[tim at alfred ~]$ sudo grep glibc /var/log/yum*
/var/log/yum.log:Feb 07 02:20:29 Updated: glibc-
common-2.12-1.47.el6_2.5.x86_64
/var/log/yum.log:Feb 07 02:20:45 Updated: glibc-2.12-1.47.el6_2.5.x86_64
...
/var/log/yum.log:Mar 17 17:51:11 Updated: glibc-
common-2.12-1.47.el6_2.9.x86_64
/var/log/yum.log:Mar 17 17:51:24 Updated: glibc-2.12-1.47.el6_2.9.x86_64
...
/var/log/yum.log:May 22 11:38:50 Installed: glibc-2.12-1.47.el6_2.9.x86_64
--------------------------------

I haven't deliberately installed any versions other than these.
This is on a server running CentOS-6.2 (in another country),
and I never say anything relevant on it except "sudo yum update".

> How I would do this is that I would download all the RPMs for the latest
> version of all the packages you have installed ... for me that would be:
> 
> glibc-devel-2.12-1.47.el6_2.12.x86_64.rpm
> glibc-headers-2.12-1.47.el6_2.12.x86_64.rpm
> glibc-2.12-1.47.el6_2.12.i686.rpm
> glibc-common-2.12-1.47.el6_2.12.x86_64.rpm
> glibc-2.12-1.47.el6_2.12.x86_64.rpm
> nscd-2.12-1.47.el6_2.12.x86_64.rpm

After "yum-update" the server tried to download the 2.12 versions,
but wasn't able to for the same above reason:

I have them all on another server also running CentOS-6.2:
--------------------------------
[tim at grover ~]$ sudo grep glibc /var/log/yum.log*
...
/var/log/yum.log:May 11 13:58:46 Updated: glibc-
common-2.12-1.47.el6_2.12.x86_64
/var/log/yum.log:May 11 13:59:20 Updated: glibc-2.12-1.47.el6_2.12.x86_64
/var/log/yum.log:May 11 13:59:54 Updated: glibc-
headers-2.12-1.47.el6_2.12.x86_64
/var/log/yum.log:May 11 13:59:59 Updated: glibc-
devel-2.12-1.47.el6_2.12.x86_64
/var/log/yum.log:May 11 14:01:44 Updated: glibc-2.12-1.47.el6_2.12.i686
--------------------------------
so I could copy them from there, and forcefully install them?

> Once I had them all in the same directory, I would try a:
> 
> rpm -Uvh *.rpm
> 
> then I would look at the errors
> 
> based on those errors (if it does not install) then I would likely do:
> 
> rpm -Uvh --force *.rpm
> 
> that will LIKELY clean up your rpm issues for glibc ... but if you don't
> understand the errors, post those here.

OK, thanks.
I see my other server has not in fact retained copies of these packages,
so I'll collect them separately and try rpm-installing them as you suggest.

I'll let you know if that succeeds or not!

> 3.  The real issue here is to make sure you figure out HOW you got in
> this position and how NOT to get into it again.

I think I understand how it occurred.
I tried to yum-remove a package
(I don't remember which one, but it wasn't important)
and I was told that 300+ packages would be removed.
I wasn't sure it I would be asked yes/no to this
(I know now that I will always be asked to approve)
so I stopped the commend with ctrt-C.
Since then I have had these problems.


-- 
Timothy Murphy  
e-mail: gayleard /at/ eircom.net
tel: +353-86-2336090, +353-1-2842366
s-mail: School of Mathematics, Trinity College Dublin





More information about the CentOS mailing list