Bug 1044947

Summary: yum update produced broken dependencies report for glibc
Product: [Fedora] Fedora Reporter: George R. Goffe <grgoffe>
Component: yumAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 19CC: admiller, codonell, ffesti, firas.alkafri, jakub, jzeleny, law, packaging-team-maint, pfrankli, spoyarek, zpavlas
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-15 09:20:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description George R. Goffe 2013-12-19 09:47:34 UTC
Description of problem:

I just ran yum update and there appears to be problems with the update to glibc (see log below)

Version-Release number of selected component (if applicable):

glibc-devel-2.17-19.fc19.x86_64

How reproducible:

Always

Steps to Reproduce:
1.type in yum update
2.review error messages
3.

Actual results:

see below

Expected results:

successful update.

Additional info:

yum update
Loaded plugins: aliases, auto-update-debuginfo, changelog, fastestmirror, filter-data, fs-snapshot, keys, langpacks, list-data, local, merge-conf, post-
              : transaction-actions, priorities, protectbase, ps, puppetverify, refresh-packagekit, refresh-updatesd, remove-with-leaves, rpm-warm-cache,
              : show-leaves, tmprepo, tsflags, upgrade-helper, verify, versionlock
Loading mirror speeds from cached hostfile
 * fedora: mirrors.kernel.org
 * fedora-debuginfo: mirrors.kernel.org
 * fedora-source: mirrors.kernel.org
 * updates: mirrors.kernel.org
 * updates-debuginfo: mirrors.kernel.org
 * updates-testing: mirrors.kernel.org
 * updates-testing-debuginfo: mirrors.kernel.org
Skipping filters plugin, no data
0 packages excluded due to repository protections
Resolving Dependencies
Skipping filters plugin, no data
--> Running transaction check
---> Package glibc.i686 0:2.17-19.fc19 will be updated
--> Processing Dependency: glibc = 2.17-19.fc19 for package: glibc-devel-2.17-19.fc19.x86_64
---> Package glibc.i686 0:2.17-20.fc19 will be an update
---> Package glibc-devel.i686 0:2.17-19.fc19 will be updated
---> Package glibc-devel.i686 0:2.17-20.fc19 will be an update
---> Package glibc-static.i686 0:2.17-19.fc19 will be updated
---> Package glibc-static.x86_64 0:2.17-19.fc19 will be updated
---> Package glibc-static.i686 0:2.17-20.fc19 will be an update
---> Package glibc-static.x86_64 0:2.17-20.fc19 will be an update
---> Package kde-workspace-debuginfo.x86_64 0:4.11.3-1.fc19 will be updated
---> Package kde-workspace-debuginfo.x86_64 0:4.11.4-1.fc19 will be an update
---> Package kdeartwork-sounds.noarch 0:4.11.3-1.fc19 will be updated
---> Package kdeartwork-sounds.noarch 0:4.11.4-1.fc19 will be an update
---> Package kdeartwork-wallpapers.noarch 0:4.11.3-1.fc19 will be updated
---> Package kdeartwork-wallpapers.noarch 0:4.11.4-1.fc19 will be an update
---> Package kdelibs-debuginfo.x86_64 6:4.11.3-9.fc19 will be updated
---> Package kdelibs-debuginfo.x86_64 6:4.11.4-1.fc19 will be an update
---> Package kdepimlibs-apidocs.noarch 0:4.11.3-3.fc19 will be updated
---> Package kdepimlibs-apidocs.noarch 0:4.11.4-1.fc19 will be an update
---> Package kdepimlibs-debuginfo.x86_64 0:4.11.3-3.fc19 will be updated
---> Package kdepimlibs-debuginfo.x86_64 0:4.11.4-1.fc19 will be an update
---> Package mate-file-manager-schemas.x86_64 0:1.6.3-0.10.gitbf47018.fc19 will be updated
---> Package mate-file-manager-schemas.x86_64 0:1.6.3-1.fc19 will be an update
---> Package oxygen-cursor-themes.noarch 0:4.11.3-1.fc19 will be updated
---> Package oxygen-cursor-themes.noarch 0:4.11.4-1.fc19 will be an update
--> Finished Dependency Resolution
Error: Package: glibc-devel-2.17-19.fc19.x86_64 (@updates)
           Requires: glibc = 2.17-19.fc19
           Removing: glibc-2.17-19.fc19.i686 (@updates)
               glibc = 2.17-19.fc19
           Updated By: glibc-2.17-20.fc19.i686 (_local)
               glibc = 2.17-20.fc19
           Available: glibc-2.17-4.fc19.i686 (fedora)
               glibc = 2.17-4.fc19
           Available: glibc-2.17-18.fc19.i686 (_local)
               glibc = 2.17-18.fc19
 You could try using --skip-broken to work around the problem
** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-2.17-19.fc19.i686 has missing requires of glibc-common = ('0', '2.17', '19.fc19')
glibc-2.17-20.fc19.x86_64 is a duplicate with glibc-2.17-19.fc19.i686
glibc-devel-2.17-19.fc19.i686 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-19.fc19.x86_64 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-20.fc19.x86_64 is a duplicate with glibc-devel-2.17-19.fc19.x86_64

Comment 1 George R. Goffe 2013-12-19 09:52:15 UTC
yum update produces:

yum check
Loaded plugins: aliases, auto-update-debuginfo, changelog, fastestmirror, filter-data, fs-snapshot, keys, langpacks, list-data, local, merge-conf, post-
              : transaction-actions, priorities, protectbase, ps, puppetverify, refresh-packagekit, refresh-updatesd, remove-with-leaves, rpm-warm-cache,
              : show-leaves, tmprepo, tsflags, upgrade-helper, verify, versionlock
glibc-2.17-19.fc19.i686 has missing requires of glibc-common = ('0', '2.17', '19.fc19')
glibc-2.17-20.fc19.x86_64 is a duplicate with glibc-2.17-19.fc19.i686
glibc-devel-2.17-19.fc19.i686 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-19.fc19.x86_64 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-20.fc19.x86_64 is a duplicate with glibc-devel-2.17-19.fc19.x86_64
Error: check all

Comment 2 Carlos O'Donell 2013-12-19 17:33:41 UTC
(In reply to George R. Goffe from comment #0)

What do you have installed?

e.g. rpm -qa | grep glibc?

> ---> Package glibc.i686 0:2.17-19.fc19 will be updated

OK, that's right we're updating all -19 to -20.

> --> Processing Dependency: glibc = 2.17-19.fc19 for package:
> glibc-devel-2.17-19.fc19.x86_64

OK, that's right glibc-devel does depend on glibc (and glibc-headers).

> ---> Package glibc.i686 0:2.17-20.fc19 will be an update

OK, that updates the i686 version.

> ---> Package glibc-devel.i686 0:2.17-19.fc19 will be updated

OK, that updates the i686 version.

Still need an update for glibc.i686, glibc-devel.i686.

> ---> Package glibc-devel.i686 0:2.17-20.fc19 will be an update

OK, the -20 is the update.

Still need an update for glibc.i686.

> ---> Package glibc-static.i686 0:2.17-19.fc19 will be updated

OK, that updates the i686 version.

Still need an update for glibc.i686, glibc-static.i686.

> ---> Package glibc-static.x86_64 0:2.17-19.fc19 will be updated

OK, that updates the x86_64 version.

Need an update for glibc-static.x86_64

> ---> Package glibc-static.i686 0:2.17-20.fc19 will be an update

OK, that updates the i686 version.

Still need an update for glibc.i686.

> ---> Package glibc-static.x86_64 0:2.17-20.fc19 will be an update

OK, that updates the x86_64 version.

Still need an update for glibc.i686 though.

Odd that doesn't seem like all dependencies.

Yum didn't mention glibc-headers.i686, and glibc-devel.x86_64, nor glibc.x86_64.

> ---> Package kde-workspace-debuginfo.x86_64 0:4.11.3-1.fc19 will be updated
> ---> Package kde-workspace-debuginfo.x86_64 0:4.11.4-1.fc19 will be an update
> ---> Package kdeartwork-sounds.noarch 0:4.11.3-1.fc19 will be updated
> ---> Package kdeartwork-sounds.noarch 0:4.11.4-1.fc19 will be an update
> ---> Package kdeartwork-wallpapers.noarch 0:4.11.3-1.fc19 will be updated
> ---> Package kdeartwork-wallpapers.noarch 0:4.11.4-1.fc19 will be an update
> ---> Package kdelibs-debuginfo.x86_64 6:4.11.3-9.fc19 will be updated
> ---> Package kdelibs-debuginfo.x86_64 6:4.11.4-1.fc19 will be an update
> ---> Package kdepimlibs-apidocs.noarch 0:4.11.3-3.fc19 will be updated
> ---> Package kdepimlibs-apidocs.noarch 0:4.11.4-1.fc19 will be an update
> ---> Package kdepimlibs-debuginfo.x86_64 0:4.11.3-3.fc19 will be updated
> ---> Package kdepimlibs-debuginfo.x86_64 0:4.11.4-1.fc19 will be an update
> ---> Package mate-file-manager-schemas.x86_64 0:1.6.3-0.10.gitbf47018.fc19
> will be updated
> ---> Package mate-file-manager-schemas.x86_64 0:1.6.3-1.fc19 will be an
> update
> ---> Package oxygen-cursor-themes.noarch 0:4.11.3-1.fc19 will be updated
> ---> Package oxygen-cursor-themes.noarch 0:4.11.4-1.fc19 will be an update
> --> Finished Dependency Resolution
> Error: Package: glibc-devel-2.17-19.fc19.x86_64 (@updates)
>            Requires: glibc = 2.17-19.fc19

That's correct. However, yum should have updated that to -20, otherwise the update won't work.

>            Removing: glibc-2.17-19.fc19.i686 (@updates)
>                glibc = 2.17-19.fc19

That's right, because -20 is going to be installed.

>            Updated By: glibc-2.17-20.fc19.i686 (_local)
>                glibc = 2.17-20.fc19

OK, that's the -20 version we expect.

>            Available: glibc-2.17-4.fc19.i686 (fedora)
>                glibc = 2.17-4.fc19
>            Available: glibc-2.17-18.fc19.i686 (_local)
>                glibc = 2.17-18.fc19

This looks like your configuration is broken and -20 isn't available anywhere yet.

>  You could try using --skip-broken to work around the problem
> ** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
> glibc-2.17-19.fc19.i686 has missing requires of glibc-common = ('0', '2.17',
> '19.fc19')
> glibc-2.17-20.fc19.x86_64 is a duplicate with glibc-2.17-19.fc19.i686
> glibc-devel-2.17-19.fc19.i686 has missing requires of glibc-headers = ('0',
> '2.17', '19.fc19')
> glibc-devel-2.17-19.fc19.x86_64 has missing requires of glibc-headers =
> ('0', '2.17', '19.fc19')
> glibc-devel-2.17-20.fc19.x86_64 is a duplicate with
> glibc-devel-2.17-19.fc19.x86_64

This looks again like yum can't find the requires for the packages and is unable to build a correct dependency tree to resolve the upgrade.

Cheers,
Carlos.

Comment 3 Carlos O'Donell 2013-12-19 17:35:13 UTC
Dear Packaing Team,

Is there any external or internal document that might help me work through these kinds of problems with users so I don't have to hand them off for help?

What kind of next step can I stake to ensure a user has a default set of repos for f19 for example?

Looking for some guidance on this one.

Cheers,
Carlos.

Comment 4 Jan Zeleny 2014-01-15 09:20:36 UTC
There is not documentation about there problems, as they are specific to the system. Let me explain what is the problem in this particular case. Looking at the original report, the problematic part is this one:

** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-2.17-19.fc19.i686 has missing requires of glibc-common = ('0', '2.17', '19.fc19')
glibc-2.17-20.fc19.x86_64 is a duplicate with glibc-2.17-19.fc19.i686
glibc-devel-2.17-19.fc19.i686 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-19.fc19.x86_64 has missing requires of glibc-headers = ('0', '2.17', '19.fc19')
glibc-devel-2.17-20.fc19.x86_64 is a duplicate with glibc-devel-2.17-19.fc19.x86_64


As it is said on the first line, these are pre-existing problems on the system. The report essentially means that system is in inconsistent state and yum cannot proceed with the action because it might cause even more problems than they already are on the system.

The recommended solution of these problem is to use rpm an manually get the system to a consistent state. In this case installing missing requires and removing duplicate packages.

In any case, this is not a bug. Maybe there is a bug somewhere that got you to the inconsistent state but that's for another report, as we can't determine how the system got there from the report you sent.

Comment 5 Carlos O'Donell 2014-01-15 18:29:38 UTC
(In reply to Jan Zeleny from comment #4)
> In any case, this is not a bug. Maybe there is a bug somewhere that got you
> to the inconsistent state but that's for another report, as we can't
> determine how the system got there from the report you sent.

Jan, Thanks for that help. I'll keep my eye open for other similar issues.

Comment 6 George R. Goffe 2014-01-17 06:40:08 UTC
Carlos,

I appreciate your efforts with this problem.

I use ONLY yum to update my system although I do add rpm's from other sources but these are NOT for what I would call mainline packages. I believe that glibc falls into the mainline category.

So, I do believe that it was yum that got me into this problem. I will pay a LOT more attention to what I update in the future. It could be that the glibc package(s) are part of the problem. 

I use a lot of software, most of which I build from sources, and see that from time to time, these packages require either i686 OR x86_64 versions of support packages. I can't point to specific packages right now but I feel that I have encountered packages that require both i686 AND x86_64 versions of various dependencies. Is this really a bug in the package? What about packages that do not exist in the x86_64 "realm"?

Thanks,

George...