UCD-SNMP has the feature (and its touted in the spec file) that you can query installed RPM packages via SNMP. Unfortunately, RPM40 support on the shipped RPM is incomplete. There is a patch in the SRPM to add support for RPM40, however it is incomplete. It doesnt patch the configure script, so configure will not detect the presence of RPM (because the config script doesnt link -lrpmio and -lpopt) hence does not compile in any RPM support (making your patch worthless). Fix: Patch configure(.in) to add -lrpmio -lpopt to the rpm conf testt / $LIBS. It furthermore may be advisable to enable OpenSSL support since you do ship that nowadays. This should give encryption for SNMPv3 (though I havent got that working yet)
The librpm tests are updated in ucd-snmp-4.2-3. FWIW, openssl is turned on, no idea (yet) whether it works. Thanks for the report.
This is apparently still a problem. I am running Red Hat Wolverine and with both the rpm and ucd-snmp packages that shipped with that, as well as the latest rpm and ucd-snmp RPMs from Rawhide, I can't compile programs that link with libucdmibs.so. libucdmibs.so also shows undefined symbols when I try to view what its linked against: [root@pegmatite cyrus-imapd-2.0.12]# rpm -q ucd-snmp-devel ucd-snmp-devel-4.2-7 [root@pegmatite cyrus-imapd-2.0.12]# ldd /usr/lib/libucdmibs.so libc.so.6 => /lib/i686/libc.so.6 (0x40086000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000) undefined symbol: vacm_parse_config_group (/usr/lib/libucdmibs.so) undefined symbol: usm_parse_config_usmUser (/usr/lib/libucdmibs.so) undefined symbol: starttime (/usr/lib/libucdmibs.so) undefined symbol: version_id (/usr/lib/libucdmibs.so) undefined symbol: version_id_len (/usr/lib/libucdmibs.so) undefined symbol: nullOidLen (/usr/lib/libucdmibs.so) undefined symbol: store_vacm (/usr/lib/libucdmibs.so) undefined symbol: snmp_enableauthentraps (/usr/lib/libucdmibs.so) undefined symbol: usm_parse_create_usmUser (/usr/lib/libucdmibs.so) undefined symbol: subtrees (/usr/lib/libucdmibs.so) undefined symbol: vacm_parse_config_access (/usr/lib/libucdmibs.so) undefined symbol: vacm_parse_config_view (/usr/lib/libucdmibs.so) undefined symbol: usm_store_users (/usr/lib/libucdmibs.so) undefined symbol: nullOid (/usr/lib/libucdmibs.so) undefined symbol: long_return (/usr/lib/libucdmibs.so) undefined symbol: return_buf (/usr/lib/libucdmibs.so) And when I try to compile Cyrus IMAP, which links against the UCD-SNMP library: make[1]: Entering directory `/home/myer/cyrus/cyrus-imapd-2.0.12/master' gcc -L/usr/local/lib -Wl,-rpath,/usr/local/lib -g -O2 -o master master.o masterconf.o cyrusMasterMIB.o -lucdagent -lucdmibs -lsnmp -lssl -lcrypto -lfl -ldb -lcom_err /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmdbClose' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmdbGetIteratorOffset' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `headerLink' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmdbOpen' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmdbInitIterator' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmGetPath' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `headerFree' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `XrpmdbNextIterator' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmReadConfigFiles' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `headerGetEntry' /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to `rpmdbFreeIterator' collect2: ld returned 1 exit status make[1]: *** [master] Error 1 make[1]: Leaving directory `/home/myer/cyrus/cyrus-imapd-2.0.12/master' make: *** [all] Error 1 I tried linking in librpm.so to no avail.