View Full Version : [SOLVED] RPM version mismatch

4th September 2011, 08:06 AM

I've somehow gotten my Fedora 15 install into a state where it can't upgrade or install anything from YUM. I've managed to narrow the problem down to the RPM packages, and this is the message I get when trying to do a yum upgrade:

Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package rpm.x86_64 0:4.9.0-9.fc15 will be updated
--> Processing Dependency: rpm = 4.9.0-9.fc15 for package: rpm-libs-4.9.0-9.fc15.x86_64
---> Package rpm.x86_64 0: will be an update
---> Package rpm-build-libs.i686 0:4.9.0-9.fc15 will be updated
---> Package rpm-build-libs.x86_64 0:4.9.0-9.fc15 will be updated
---> Package rpm-build-libs.i686 0: will be an update
---> Package rpm-build-libs.x86_64 0: will be an update
---> Package rpm-libs.i686 0:4.9.0-9.fc15 will be updated
---> Package rpm-libs.i686 0: will be an update
---> Package rpm-python.x86_64 0:4.9.0-9.fc15 will be updated
---> Package rpm-python.x86_64 0: will be an update
--> Finished Dependency Resolution
Error: Package: rpm-libs-4.9.0-9.fc15.x86_64 (@updates)
Requires: rpm = 4.9.0-9.fc15
Removing: rpm-4.9.0-9.fc15.x86_64 (@updates)
rpm = 4.9.0-9.fc15
Updated By: rpm- (updates)
rpm =
Available: rpm-4.9.0-6.fc15.x86_64 (fedora)
rpm = 4.9.0-6.fc15
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
rpm-libs- is a duplicate with rpm-libs-4.9.0-9.fc15.x86_64
rpm-libs- has missing requires of rpm = ('0', '', '1.fc15')

I think the problem is related to the actual installed rpm version being different from what's in rpmdb:

$ rpm --version
RPM version
$ rpm -q rpm

So far I have tried downgrading, uninstalling the lower versions, and even rpmdb --rebuilddb, none of which have helped. If this were any other package, I would solve it by completely removing it and then reinstalling, however since the problem is RPM itself I'm running into bootstrap issues.

My next step would probably be to start over with a completely fresh Fedora install, but I wanted to see if anyone had any other suggestions before such drastic action. Should I try booting from a live cd so that I can remove RPM from the outside?

Thanks in advance.

4th September 2011, 08:14 AM

yum --releasever=15 distribution-synchronization

4th September 2011, 09:36 AM
Sorry, no luck with that either. Yum did show 10 additional unrelated packages to update, but it failed with the exact same message as above.

4th September 2011, 09:56 AM

yum repolist

4th September 2011, 06:47 PM
$ yum repolist
Loaded plugins: langpacks, presto, refresh-packagekit
repo id repo name status
fedora Fedora 15 - x86_64 24,085
google-chrome google-chrome 3
updates Fedora 15 - x86_64 - Updates 5,817
repolist: 29,905

The only non-standard repo I have configured is for Chrome, and I don't think that would cause this problem.

4th September 2011, 11:10 PM
your 32bit and 64bit rpm packages are out of sync.

'rpm -qa | grep rpm-' ?

Likely you will need to remove the old 32bit ones and re-install them with the same version as the 64 bit ones.

5th September 2011, 07:01 AM

It turns out that the problem was two different 64 bit versions of rpm-libs being installed at once, and of course trying to remove the old one using yum resulted in an attempt to remove the entire system because of dependency resolution. Thankfully yum was smart enough not to do that to itself.

In the end, this is the command which seems to have solved all my problems:

rpm -e --nodeps rpm-libs-4.9.0-9.fc15.x86_64

This does mean that I'll have to put up with yum complaining about the rpmdb being modified outside of yum for a while, but everything does seem to work now.

Thank you everyone who responded--you definitely put me on the right track.