ubuntu16.04下,先用arm-arago-linux-gnueabi交叉编译SNMP5.9.1,config都没有过。修改也还是没过。改用新的交叉编译器,arm-linux-gnueabihf,config过了,配置参数:
./configure --host=arm-linux --target=arm-linux --build=i686-linux --with-cc=arm-arago-linux-gnueabi-gcc --with-ar=arm-arago-linux-gnueabi-ar --prefix=/cmm/snmp/ --disable-shared --disable-scripts --with-endianness=little -enable-mini-agent --disable-ipv6 --disable-manuals --disable-ucd-snmp-compatibility --enable-as-needed --with-mib-modules="infomation"
在agent/mibgroub目录下,没有自动生成modules的.c和.h文件。
想用snmp传数据,目前节点上取不到数据,因此想,是不是infomation.c和infomaion.h没有自动生成的原因呢?在PC机上编译SNMP,获取到这两个文件,然后按照实际内容,手工修改代码后,下传到下位机上,也还是没有取到节点OID数据。
请问谁交叉编译SNMP到下位机,并且成功获取了自定义节点的数据?
谢谢!
gcc -E -Iinclude -I./include -I./agent/mibgroup -I. -I. -DDONT_INC_STRUCTS -DBINDIR=/opt/net-snmp/bin ./sedscript.in | egrep '^s[/#]' | sed 's/REMOVEME//g;s# */#/#g;s/ *#/#/g;s#/ *#/#g;s/# g/#g/;' > sedscript
chmod a+x net-snmp-config
touch net-snmp-config-x
gcc: warning: ./sedscript.in: linker input file unused because linking not done
echo 's/VERSIONINFO/5.9.1/g' >> sedscript
echo 's#DATADIR#/opt/net-snmp/share#g' >> sedscript
echo 's#LIBDIR#/opt/net-snmp/lib#g' >> sedscript
echo 's#BINDIR#/opt/net-snmp/bin#g' >> sedscript
echo 's#PERSISTENT_DIRECTORY#/var/net-snmp#g' >> sedscript
echo 's#SYSCONFDIR#/opt/net-snmp/etc#g' >> sedscript
/bin/sed -f sedscript ./EXAMPLE.conf.def > EXAMPLE.conf
making all in /usr/local/snmp/net-snmp-5.9.1/snmplib
make[1]: Entering directory '/usr/local/snmp/net-snmp-5.9.1/snmplib'
/bin/bash ../libtool --mode=compile arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c -o snmp_client.lo snmp_client.c
/bin/bash ../libtool --mode=compile arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c -o mib.lo mib.c
/bin/bash ../libtool --mode=compile arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c -o parse.lo parse.c
/bin/bash ../libtool --mode=compile arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c -o snmp_api.lo snmp_api.c
libtool: compile: arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c mib.c -o mib.o
libtool: compile: arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c snmp_client.c -o snmp_client.o
mib.c:48:19: fatal error: stdio.h: No such file or directory
compilation terminated.
snmp_client.c:50:19: fatal error: stdio.h: No such file or directory
compilation terminated.
libtool: compile: arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c parse.c -o parse.o
Makefile:100: recipe for target 'mib.lo' failed
make[1]: *** [mib.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:100: recipe for target 'snmp_client.lo' failed
make[1]: *** [snmp_client.lo] Error 1
libtool: compile: arm-arago-linux-gnueabi-gcc -I../include -I. -I../snmplib -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux -c snmp_api.c -o snmp_api.o
parse.c:41:20: fatal error: limits.h: No such file or directory
compilation terminated.
Makefile:100: recipe for target 'parse.lo' failed
make[1]: *** [parse.lo] Error 1
snmp_api.c:48:19: fatal error: stdio.h: No such file or directory
compilation terminated.
Makefile:100: recipe for target 'snmp_api.lo' failed
make[1]: *** [snmp_api.lo] Error 1
make[1]: Leaving directory '/usr/local/snmp/net-snmp-5.9.1/snmplib'
Makefile:674: recipe for target 'subdirs' failed
make: *** [subdirs] Error 1
cp: cannot stat './agent/snmpd': No such file or directory
root@ubuntu:/usr/local/snmp# cd net-snmp-5.
bash: cd: net-snmp-5.: No such file or directory
sudo apt-get install libc6-dev,装了,enssential,也过装了。