I have had numerous problems building rpm-3.0.3-0.9 since ./configure does not check for netdb.h, leaving HAVE_NETDB_H undefined in config.h, so system.h will not #include <netdb.h>. The simple fix was to change #undef HAVE_NETDB_H in config.h.in to #define HAVE_NETDB_H 1, but having configure actually test for it would be nice. Also, perhaps the code should be written so configure would fail if struct hostent is not found in any header files, which is what the build failure is due to.
From rpm/configure.in: ... AC_CHECK_HEADERS(fcntl.h getopt.h grp.h memory.h netdb.h pwd.h utime.h) ...