Red Hat Bugzilla – Bug 11620
UCD SNMP 4.1.1 not binary compatible with older versions
Last modified: 2008-05-01 11:37:55 EDT
Red Hat Linux 6.2 appears to come with UCD SNMP 4.1.1; that version of UCD
SNMP turned the function "snmp_set_full_objid()" into a macro.
This means that any program that is linked dynamically with an earlier
version of the UCD SNMP library, from earlier Red Hat Linux releases, and
that calls "snmp_set_full_objid()" will fail to run on RH 6.2, as it will
try to call "snmp_set_full_objid()" but will fail to find it in the shared
library, as the shared library has the same version number as the UCD SNMP
library in earlier versions of Red Hat Linux.
This causes problems, for example, with the binary RPMs for Ethereal; they
don't work on RH 6.2 (and versions built on 6.2 won't work on earlier
versions of Red Hat Linux, as the macro "snmp_set_full_objid()" in UCD SNMP
4.1.1 calls a routine not present in earlier versions of UCD SNMP). The
URL I'm entering for this bug points to the entry in the Ethereal FAQ for
this problem (it's definitely a Question that's Frequently Asked on the
Ethereal mailing lists).
UCD SNMP 4.1.2 turns "snmp_set_full_objid()" (and some other routines) back
into functions, so that it's binary compatible with older UCD SNMP
libraries; future versions of Red Hat Linux should use UCD SNMP 4.1.2 or a
later version if one comes out.
Red Hat 7.0 will include ucd-snmp-4.1.2. Thanks for the report.