In answer to my own question, this is what I have done which appears to fix the problem:
1. Edit /usr/lib/rpm/macros and change the line %__dbi_rebuild nofsync !log !txn !cdb to %__dbi_rebuild nofsync !log !txn !cdb !thread 2. export LD_ASSUME_KERNEL=2.2.5 3. rpm --rebuilddb 4. unset LD_ASSUME_KERNEL 5. Edit /usr/lib/rpm/macros back to the original 6. rpm --rebuilddb
So far this fixes the problems I have been having. I assume it is possible to override the macro setting on the rpm command line so no editing is required and a simple script can be run on all my machines.
John.
John Newbigin wrote:
I have recently deployed a number of CentOS-3.4 boxes and I am seeing problems with rpm database apparent corruption. db4 errors like DB_PAGE_NOTFOUND.
I have found that using LD_ASSUME_KERNEL=2.2.5 seems to fix the problem but I can't find much info on why or if doing that is good or bad.
I have done --rebuilddb but with the LD_ASSUME_KERNEL that might be making thinks worse... I just don't know.
Does anyone here know anything about this problem?
John.