YUM update conflicts: 'glibc' and 'glibc-common' (F11, x86_64)

Ryan Lynch ryan.b.lynch at gmail.com
Sat Aug 22 22:40:10 UTC 2009


On Sat, Aug 22, 2009 at 17:48, Ryan Lynch <ryan.b.lynch at gmail.com> wrote:

> On Sat, Aug 22, 2009 at 16:55, Kevin J. Cummings <
> cummings at kjchome.homeip.net> wrote:
>
>> On 08/22/2009 04:00 PM, Ryan Lynch wrote:
>> > On Sat, Aug 22, 2009 at 15:44, Kevin J. Cummings
>> > <cummings at kjchome.homeip.net <mailto:cummings at kjchome.homeip.net>>
>> wrote:
>> >
>> >     On 08/22/2009 03:39 PM, Geoffrey Leach wrote:
>> >     > On 08/22/2009 12:24:08 PM, Kevin J. Cummings wrote:
>> >     >> On 08/22/2009 03:17 PM, Ryan Lynch wrote:
>> >     >>> Running 'yum update' from the command line, I am getting some
>> file
>> >     >>> conflicts between different arch/versions of the 'glibc' and
>> >     >>> 'glibc-common' packages.  This machine runs F11-x86_64.
>> >     >>>
>> >     >>> Here's the actual error output:
>> >     >>>
>> >     >>> <code>
>> >     >>> Transaction Check Error:
>> >     >>>   file /usr/share/doc/glibc-2.10.1/NEWS from install of
>> >     >>> glibc-2.10.1-4.i686 conflicts with file from package
>> >     >> glibc-2.10.1-2.x86_64
>> >     >>>   file /usr/bin/ldd from install of glibc-common-2.10.1-4.i586
>> >     >> conflicts
>> >     >>> with file from package glibc-common-2.10.1-2.x86_64
>> >     >>>   file /usr/lib/locale/locale-archive.tmpl from install of
>> >     >>> glibc-common-2.10.1-4.i586 conflicts with file from package
>> >     >>> glibc-common-2.10.1-2.x86_64
>> >     >>>   file /usr/share/doc/glibc-common-2.10.1/ChangeLog.bz2 from
>> >     >> install
>> >     >> of
>> >     >>> glibc-common-2.10.1-4.i586 conflicts with file from package
>> >     >>> glibc-common-2.10.1-2.x86_64
>> >     >>>   file /usr/share/i18n/locales/de_AT from install of
>> >     >>> glibc-common-2.10.1-4.i586 conflicts with file from package
>> >     >>> glibc-common-2.10.1-2.x86_64
>> >     >>> </code>
>> >     >>>
>> >     >>> Is this a known issue, or did I screw something up?
>> >     >>
>> >     >> Something is screwed up.  Possibly on your system.
>>  glibc-common.i586
>> >     >> is
>> >     >> conflicting with glibc-common.i686.  I think you need one and not
>> the
>> >     >> other.  Since you system is a base x86_64, I would suggest trying
>> the
>> >     >> following:
>> >     >>
>> >     >> # yum shell
>> >     >>> remove glibc-common.i586
>> >     >>> install glibc-common.i686
>> >     >>> run
>> >     >>
>> >     >> and see if that helps....
>> >     >
>> >     > Hmmmm ... perhaps install glibc-common.x86_64? i686 is still 32
>> bit.
>> >
>> >     Not if its a multi-lib problem.  I assumed that the x86_64 part
>> would
>> >     straighten itself out....  But yes, he needs to ensure that all of
>> his
>> >     secondary libs are either all i586 or all i686 (where he has a
>> choice
>> >     between the two) and that they co-exist well with their x86_64
>> >     counterparts (which should be the primary concern anyways).
>> >
>> >
>> >
>> > Here's the output of `yum list installed glibc-common glibc`, for
>> reference:
>> >
>> > <code>
>> > Installed Packages
>> > glibc.i686                      2.10.1-2                      installed
>> > glibc.x86_64                  2.10.1-2                      installed
>> > glibc-common.x86_64    2.10.1-2                      installed
>> > </code>
>> >
>> > I tried `yum remove glibc.i686`, but it wants to remove 116 packages,
>> > for dependencies.  Mostly, it looks like stuff I installed while getting
>> > Skype for Linux to run, so I'm pretty sure its going to break some
>> > things if I remove it all.
>>
> Ryan,
>>        You are barking up the wrong tree.  Your problem is
>> glibc-common.i586.  Something is trying to install this package and it
>> conflicts with your currently installed glibc-common.i686.
>> You need to track down where that dependency is coming from and deal
>> with it.
>
>
>
> No, I'm pretty sure that's the right tree :-)  I didn't post the whole
> output of 'yum update', though, so that's not your fault.  See below.
>
>
>
>> > Isn't this a packaging bug?  There's no conflict between my
>> > currently-installed 'glibc.i686' and 'glib.x86_64' (2.10.1-2), although
>> > there is a conflict between the two archs' 'glibc-common' packages.
>>
>>
>> Possibly, but we need to know what is causing it first.  i586/i686 are
>> not meant to be multilib (like x86_64/i686 is).
>
>
>
> I don't mean to be rude, but I think you have some misconceptions about how
> i686 and i586 work on Fedora, before we go any further:
>
>  * There is no glibc-common.i686 package.  It doesn't exist, either on my
> system or anywhere in stable Fedora.  Go take a look at at the repos, right
> now, and confirm that.  (There is such a package in Rawhide, but that's not
> relevant, here.)
>
>  * Many source RPMs don't have an i686 binary package, at all.  Instead,
> they have an i586 or i386 package for 32-bit.  OpenSSH is like this (go
> check for yourself), and there are others.  I don't exactly know why this
> is, but it's perfectly valid to have a mix of i586 and i686 packages on a
> Fedora system.
>
>  * glibc-2.10.1-4.i686 is the package causing YUM to pull in
> glibc-common.i586.  Here's the snippet from my original 'yum update'
> command:
>
> <output>
> ---> Package glibc.i686 0:2.10.1-4 set to be updated
> --> Processing Dependency: glibc-common = 2.10.1-4 for package:
> glibc-2.10.1-4.i686
> </output>
>
>  * glibc-2.10.1-2.i686 depends on 'glibc-common = 2.10.1-2', but it
> apparently tolerates either the i586 OR the x86_64 version of
> 'glibc-common'.  The 2.10.1-4.i686 update, however, changed its
> dependencies:  It only accepts the i586 arch of 'glibc-common'.  You can
> confirm this by comparing:
>
>     - `yum deplist glibc-2.10.1-2.i686 | grep glibc-common`:
> <output>
>   dependency: glibc-common = 2.10.1-2
>    provider: glibc-common.x86_64 2.10.1-2
>    provider: glibc-common.i586 2.10.1-2
>   dependency: glibc-common = 2.10.1-2
>    provider: glibc-common.x86_64 2.10.1-2
>    provider: glibc-common.i586 2.10.1-2
> </output>
>
> against:
>
>     - `yum deplist glibc-2.10.1-4.i686 | grep glibc-common`:
> <output>
>   dependency: glibc-common = 2.10.1-4
>    provider: glibc-common.i586 2.10.1-4
> </output>
>
> IN SHORT:  The package 'glibc.i686' changes its dependencies from the -2
> release to -4.  Previously, my 'glibc-common.x86_64' was sufficient to
> satisfy 'glibc.i686', whereas now, it *must* have 'glibc-common.i586'.
>
> All that make sense?  I think at this point, I need to find out why that
> change happened, and whether there's anything to be done about it upstream.
>
> -Ryan
>


Slap my forehead, will ya?  There was no change in the 'glibc.i686' package,
that's not what 'yum deplist' was telling me.  The problem was that YUM
can't see the update for glibc-common-2.10.1-4.x86_64, so it THINKS the only
package that will satisfy the dependency is glibc-common-2.10.1-4.i586.
That, in turn, creates the conflict.

It looks like glibc is designed to allow both 64 and 32 bit versions to
coexist in harmony, but not glibc-common.  Instead, it lets you use the
64-bit glibc-common package to satisfy any 32-bit package deps you might
have.

So, why can't YUM see the updated glibc-common.x86_64 package?  Because my
repo mirror is out of date!  (DUH!)

-Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/users/attachments/20090822/5a9d834f/attachment-0001.html 


More information about the users mailing list