You can try the following as root of course;
cd /var/lib
tar czvf /tmp/rpmdb.tar.gz rpm (just in case we need the database files)
cd rpm
rm /var/lib/rpm rm -f __db*
Now reboot the system and get the latest rpm packages for FC5 from;
http://download.fedora.redhat.com/pu...s/Fedora/RPMS/
(Note: your OP said from FC3 to FC4 but rpm-4.4.2-15.2.i386.rpm is for FC5)
popt-1.10.2-15.2.i386.rpm 06-Mar-2006 15:37 66K
rpm-4.4.2-15.2.i386.rpm 06-Mar-2006 15:37 647K
rpm-build-4.4.2-15.2.i386.rpm 06-Mar-2006 15:37 534K
rpm-devel-4.4.2-15.2.i386.rpm 06-Mar-2006 15:37 1.3M
rpm-libs-4.4.2-15.2.i386.rpm 06-Mar-2006 15:37 965K
rpm-python-4.4.2-15.2.i386.rpm 06-Mar-2006 15:37 51K
Place all the packages listed above in one location where they are the only rpm packages then as root type something like;
/usr/lib/rpm/rpmi -ivh *.rpm --force
Then rebuild the database; rpm --rebuilddb -vv