Environment
NetIQ eDirectory 8.8 SP7
Redhat Enterprise Server 6.5
Redhat Enterprise Server 6.4
Redhat Enterprise Server 6.3
Redhat Enterprise Server 6.2
Redhat Enterprise Server 5.10
Redhat Enterprise Server 5.6
Redhat Enterprise Server 5.5
Situation
On RHES 6.2 - unpatched, attempting to start the eDirectory SNMP subagent results in the following errors:
Information: Logged in successfully to 'LOCALHOST' eDirectory server.
Error: Unable to load library: /usr/lib64/libnetsnmpagent.so.20: undefined symbol: netsnmp_register_null_context
Error: Failure in agent_to_master.
Error: Initialization failure. Error code : -1
The following shows the net-snmp version available in each Redhat version and its status:
RHEL 6.0 : net-snmp-5.5-27.el6.x86_64 : WORKING
RHEL 6.1 : net-snmp-5.5-31.el6.x86_64 : WORKING
RHEL 6.2 : net-snmp-5.5-37.el6.x86_64 : Not WORKING
RHEL 6.3 : net-snmp-5.5-43.el6.x86_64 : Not WORKING
Resolution
RHES 5.4 does not have the problem nor does 6.0 or 6.1. The problem has been identified in those Red Hat platforms listed above.
The issue has been narrowed down to the SNMP modules provided by Redhat. There is a bug on this: http://sourceforge.net/p/net-snmp/bugs/2107/
-
eDirectory loads the net-snmp libraries, libnetsmp, libnetsnmpagent and libnetsnmphelpers, in this order.
-
Older versions of the net-snmp, libnetsnmpagent and libnetsnmphelpers exposed symbols that were present in both, therefore, the sequence of loading did not matter.
- In the 5.5 version of net-snmp, libnetsnmpagent requires some functions from libnetsnmphelpers and since we were loading it in the order mentioned above, ndssnmpsa reports the errors during startup.
-
With the 5.6 rpm libnetsnmphelpers is no longer dependent on libnetsnmpagent and vice-versa.
These libraries need to stabalize before this issue can be fully resolved.
Note: a workaround has been found.
1. Simply patch the RHES server to the latest and greatest found in the Red Hat update service. This will update the module to version 5.5.
2. Once SNMP has been updated the goal is to have "LD_PRELOAD" libnetsnmphelpers library load before the loading of ndssnmpsa. This is accomplished via the /etc/init.d/ndssnmpsa script. Modify the line that loads ndssnmpsa to look like the following:
LD_PRELOAD="/usr/lib64/libnetsnmphelpers.so.20" /opt/novell/eDirectory/bin/ndssnmpsa
3. Restart ndsd.
Status
Reported to EngineeringAdditional Information
Though eDirectory 8.8 SP8 Patch 1 and iManager 2.7 SP7 Patch 1 have both been certified on Red Hat 5.10 and 6.5, SNMP support for eDirectory on these platforms is still not possible.