The sub-agent example from NetSNMP::agent(3pm) fails to run on 5.5.1. Here's the error message:
$ perl nas.pl
perl: symbol lookup error: /usr/lib64/libnetsnmpagent.so.20: undefined symbol: netsnmp_register_null
I bisected this problem to SVN revision 18811 (git commit ec7b29056c in the master branch).
It is already fixed on 5.7 (and I'm almost sure on 5.6 as well), probably due to some net-snmp-config.in
reorganization.
The latest revision of the V5-5-patches branch is working fine here.
Does commit 4c83b9229a7454f34f6ff75f69e67e4030c419b5 apply cleanly to 5.5.1, and if so, does it help ?
Strange. The latest checkout from V5-5-patches still fails for me.
Here's how I'm configuring it:
configure \
--with-sys-contact="root@localhost" \
--with-mib-modules="misc/ipfwacc \
ucd-snmp/diskio \
etherlike-mib rmon-mib \
ucd-snmp/lmsensorsMib \
smux \
ip-mib/ipv4InterfaceTable ip-mib/ipv6InterfaceTable \
ip-mib/ipDefaultRouterTable ip-mib/ipAddressPrefixTable \
ip-mib/ipv6ScopeZoneIndexTable ip-mib/ipIfStatsTable" \
--with-persistent-directory=/var/lib/net-snmp \
--with-agentx-socket=%{netsnmp_agentx_socket_dir_fhs}/master \
--with-sys-location="unknown" \
--with-logfile=%{netsnmp_logfile} \
--with-libwrap=%{_prefix} \
--with-defaults \
--enable-shared \
--disable-static \
--without-root-access \
--enable-local-smux \
--enable-ipv6 \
--enable-as-needed \
--enable-ucd-snmp-compatibility
Sorry, but I can't reproduce this. Even after having removed all distro-provided SNMP packages and after having removed all manually installed Net-SNMP files from /usr the Perl AgentX subagent still works:
$ cat .git/HEAD
ref: refs/heads/V5-5-patches
$ make && sudo make install
$ agent/snmpd -f -Lo -Mmibs -c ../snmpd.conf &
$ perl ~/nas.pl &
No log handling enabled - turning on stderr logging
NET-SNMP version 5.5.1 AgentX subagent connected
$ lsof -p$(pidof perl)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
perl 29347 bart cwd DIR 8,2 4096 269737 /home/bart/software/net-snmp/V5-5-patches
perl 29347 bart rtd DIR 8,2 4096 2 /
perl 29347 bart txt REG 8,2 2899960 37038 /usr/bin/perl
perl 29347 bart mem REG 8,2 18000 130014 /lib/libattr.so.1.1.0
perl 29347 bart mem REG 8,2 165520 129693 /lib/liblzma.so.5.0.0
perl 29347 bart mem REG 8,2 91828 34247 /usr/lib/libelf-0.149.so
perl 29347 bart mem REG 8,2 62056 129981 /lib/libbz2.so.1.0.6
perl 29347 bart mem REG 8,2 120868 308274 /lib/libselinux.so.1
perl 29347 bart mem REG 8,2 47160 308809 /lib/libpopt.so.0.0.0
perl 29347 bart mem REG 8,2 195228 38136 /usr/lib/liblua.so.5.1
perl 29347 bart mem REG 8,2 3054812 980293 /usr/lib/perl5/5.12.3/i586-linux-thread-multi/CORE/libperl.so
perl 29347 bart mem REG 8,2 375124 37285 /usr/lib/librpmio.so.1.0.0
perl 29347 bart mem REG 8,2 1355700 32418 /usr/lib/librpm.so.1.0.0
perl 29347 bart mem REG 8,2 60326 845531 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/NetSNMP/ASN/ASN.so
perl 29347 bart mem REG 8,2 494320 513088 /usr/local/net-snmp-V5-5-patches/lib/libnetsnmphelpers.so.20.0.1
perl 29347 bart mem REG 8,2 639088 513084 /usr/local/net-snmp-V5-5-patches/lib/libnetsnmpagent.so.20.0.1
perl 29347 bart mem REG 8,2 4055674 513092 /usr/local/net-snmp-V5-5-patches/lib/libnetsnmpmibs.so.20.0.1
perl 29347 bart mem REG 8,2 211367 845678 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/NetSNMP/agent/agent.so
perl 29347 bart mem REG 8,2 624441 845689 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/SNMP/SNMP.so
perl 29347 bart mem REG 8,2 87752 129686 /lib/libz.so.1.2.5
perl 29347 bart mem REG 8,2 1693496 131070 /lib/libcrypto.so.1.0.0
perl 29347 bart mem REG 8,2 153600 34236 /usr/lib/libssh2.so.1.0.1
perl 29347 bart mem REG 8,2 34544 130590 /lib/libacl.so.1.1.0
perl 29347 bart mem REG 8,2 110981 842192 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/NetSNMP/OID/OID.so
perl 29347 bart mem REG 8,2 57843 845680 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/NetSNMP/agent/default_store/default_store.so
perl 29347 bart mem REG 8,2 1468532 513080 /usr/local/net-snmp-V5-5-patches/lib/libnetsnmp.so.20.0.1
perl 29347 bart mem REG 8,2 118711 845682 /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi/auto/NetSNMP/default_store/default_store.so
perl 29347 bart mem REG 8,2 256324 51127 /usr/lib/locale/en_US.utf8/LC_CTYPE
perl 29347 bart mem REG 8,2 1163682 51128 /usr/lib/locale/en_US.utf8/LC_COLLATE
perl 29347 bart mem REG 8,2 1683894 130855 /lib/libc-2.11.3.so
perl 29347 bart mem REG 8,2 125115 130970 /lib/libpthread-2.11.3.so
perl 29347 bart mem REG 8,2 12576 130978 /lib/libutil-2.11.3.so
perl 29347 bart mem REG 8,2 55574 130865 /lib/libcrypt-2.11.3.so
perl 29347 bart mem REG 8,2 191006 130870 /lib/libm-2.11.3.so
perl 29347 bart mem REG 8,2 17392 130868 /lib/libdl-2.11.3.so
perl 29347 bart mem REG 8,2 107282 130873 /lib/libnsl-2.11.3.so
perl 29347 bart mem REG 8,2 18076 129953 /lib/libcap.so.2.19
perl 29347 bart mem REG 8,2 54 51112 /usr/lib/locale/en_US.utf8/LC_NUMERIC
perl 29347 bart mem REG 8,2 2454 49853 /usr/lib/locale/en_US.utf8/LC_TIME
perl 29347 bart mem REG 8,2 286 49852 /usr/lib/locale/en_US.utf8/LC_MONETARY
perl 29347 bart mem REG 8,2 57 50782 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
perl 29347 bart mem REG 8,2 34 50809 /usr/lib/locale/en_US.utf8/LC_PAPER
perl 29347 bart mem REG 8,2 77 51046 /usr/lib/locale/en_US.utf8/LC_NAME
perl 29347 bart mem REG 8,2 155 49850 /usr/lib/locale/en_US.utf8/LC_ADDRESS
perl 29347 bart mem REG 8,2 59 50779 /usr/lib/locale/en_US.utf8/LC_TELEPHONE
perl 29347 bart mem REG 8,2 23 50810 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT
perl 29347 bart mem REG 8,2 26048 34325 /usr/lib/gconv/gconv-modules.cache
perl 29347 bart mem REG 8,2 373 49851 /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
perl 29347 bart mem REG 8,2 143979 131264 /lib/ld-2.11.3.so
perl 29347 bart 0u CHR 136,0 0t0 3 /dev/pts/0
perl 29347 bart 1u CHR 136,0 0t0 3 /dev/pts/0
perl 29347 bart 2u CHR 136,0 0t0 3 /dev/pts/0
perl 29347 bart 3r FIFO 0,8 0t0 211159 pipe
perl 29347 bart 4w FIFO 0,8 0t0 211159 pipe
perl 29347 bart 5r FIFO 0,8 0t0 211160 pipe
perl 29347 bart 6w FIFO 0,8 0t0 211160 pipe