In the file /usr/include/rpm/rpmlib.h, it includes four headers, three of which are in the same directory at rpmlib.h. Unfortunately, they are specified as: #include <header.h> #include <dbindex.h> which causes gcc to not find them unless /usr/include/rpm/ is added to the includepath, which is difficult (to me) when using autoconf to automatically detect the presence of the rpmlib devel tools. The proposed change is: #include <rpm/header.h> #include <rpm/dbindex.h> (and so forth for any other such)
The change as suggested would prevent building rpm within it's own tree. The right thing to do is use #include "rpmio.h" in /usr/include/rpm/rpmlib.h. This is the way that rpm used to do things, was changed for some crazy reason having to do with automagically generated perl bindings, is now in the process of being changed back. Or, use -I/usr/include/rpm appropriately, that works too.