The kernel supplies /dev/futex functionality. glibc supplies the pthread API that uses nptl on top of /dev/futex functionality. db-4.1.24 uses the the pthread API, has run-time check that API is functional. The runtime check requires a) the running kernel supplies functional /dev/futex b) glibc with nptl. So, rpm carries Requires: kernel >= 2.4.20-0.pp.9 Requires: glibc >= 2.3.1-15 attempting to insure that the platform on which rpm runs has (at least) the necessary capabilities available to use posix mutexes through nptl. This, of course, is totally bogus if, say, a different kernel w/o /dev/futex functionality is booted.
Fixed by adding run time test with fallback to different locking scheme.