I've just tried to upgrade rpm from rpm 3.0.5-0.3 to rpm-4.0-0.45 and I now see this error: [root@tornado reuben]# rpm -Uvh rpm-4.0-0.45.i386.rpm error: failed dependencies: libbz2.so.0 is needed by rpm-4.0-0.45 The problem being that libbz2.so.0 is a part of the old pre-1.0 release bzip2 rpm's. The bzip2-1.0.0-2 provides these files: /usr/lib/libbz2.so.1 /usr/lib/libbz2.so.1.0.0 So without downgrading to bzip2-0.95 I can't upgrade RPM without --nodeps on it...
Problem with packages being built with different libraries (inconsistent). I saved my libbz2.so.0 libraries and restored them by hand after upgrading bzip2. Then I used --nodeps. It takes them a while to get everything consistent. This was the same with ncurses versions 5 and 4. Finally they have the compatibility stuff in.
The rpm 4.0 package that you (probably) downloaded from ftp.rpm.org is for older Red Hat systems, not Red Hat 7.0. Older systems do not have bzip2-1.0, so the dependency is correct.