We just updated to from 5.4.1 to 5.7.1 and ran into problems linking the snmpd
executable.
We configured SNMP using the following options:
./configure \
--host=mipsel-linux-uclibc \
--with-logfile="/var/log/snmpd.log" \
--with-persistent-directory="/var/net-snmp" \
--with-default-snmp-version="2" \
--with-sys-contact="contact" \
--with-sys-location="location" \
--with-cflags="-g -x c" \
--with-ldflags="-x none" \
--disable-embedded-perl \
--without-perl-modules \
--disable-manuals \
--disable-scripts \
--disable-mibs \
--disable-mib-loading \
--without-openssl \
--disable-des \
--disable-privacy \
--disable-md5 \
--disable-static \
--disable-snmptrapd-subagent
With 5.7.1 we get the following link errors:
mipsel-linux-g++ -g -x c -Ulinux -Dlinux=linux -o .libs/snmpd .libs/snmpd.o -x
none -L../snmplib/.libs -L../snmplib -L./.libs ./.libs/libnetsnmpagent.so
./.libs/libnetsnmpmibs.so
/usr/local/src/net-snmp-5.7.1/agent/.libs/libnetsnmpagent.so
/usr/local/src/net-snmp-5.7.1/snmplib/.libs/libnetsnmp.so -ldl
../snmplib/.libs/libnetsnmp.so -Wl,-rpath -Wl,/opt/net-snmp-5.7.1/lib
.libs/snmpd.o:1: error: stray '\177' in program
.libs/snmpd.o:1: error: stray '\1' in program
.libs/snmpd.o:1: error: stray '\1' in program
.libs/snmpd.o:1: error: stray '\1' in program
...
.libs/snmpd.o:568:5: unterminated comment
.libs/snmpd.o:1492:311: warning: no newline at end of file
make[4]: *** [snmpd] Error 1
make[3]: *** [installsubdirs] Error 1
make[2]: *** [/opt/net-snmp-5.7.1/sbin/snmpd] Error 2
make[1]: *** [snmp] Error 2
make: *** [snmp_all] Error 2
We noticed the snmpd rule changed in the
snmp/masteragent/netsnmp/net-snmp/agent/Makefile.in file.
net-snmp-5.4.1 Makefile.in:
snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB)
$(LIBTARG)
$(LINK) $(CFLAGS) ${LDFLAGS} -o $@ ${LAGENTOBJS} $(LOCAL_LIBS)
${OUR_AGENT_LIBS}
net-snmp-5.7.1 Makefile.in:
snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(MIBLIB) $(LIBTARG)
$(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} $(LOCAL_LIBS) ${LDFLAGS}
${OUR_AGENT_LIBS}
So in 5.4.1, ${LDFLAGS} comes right after $(CFLAGS), and in 5.7.1, ${LDFLAGS}
is after $(LOCAL_LIBS).
We are not sure why this rule change was made, but in order for the masteragent
to build and link correctly with mipsel-uclibc-g++, we had to change the rule
to :
snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(MIBLIB) $(LIBTARG)
$(LINK) $(CFLAGS) ${LDFLAGS} -o $@ ${LAGENTOBJS} $(LOCAL_LIBS)
${OUR_AGENT_LIBS}
For what it’s worth, same problem happens when we try to build using gcc g++
compiler for x86 (from a native Fedora install), so this is not mipsel-uclibc
specific.
Could you please enlighten us as to why this snmpd rule change was made, and
why the 5.7.1 rule does not work for us?
Thanks,
Elicia
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users