net-snmp交叉编译时问题总结

来源:互联网 发布:php前端模板 编辑:程序博客网 时间:2024/05/29 12:47
遇到的问题:


一、配置出错
错误如下:    
./configure --build=i686-linux --host=arm-linux  CC=arm-arago-linux-gnueabi-gcc --disable-ipv6 --with-endianness=little --disable-manuals --disable-ucd-snmp-compatibility --enable-as-needed --disable-embedded-perl --without-perl-modules --disable-snmptrapd-subagent --disable-applications --disable-scripts  --prefix=/usr/local/arm-netsnmp --disable-static --enable-shared

make后出错:
mibgroup/disman/schedule/schedCore.lo: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
make[1]: *** [libnetsnmpmibs.la] 错误 1
make[1]:正在离开目录 `/home/zb/ruanjianbao/net-snmp-5.3.1/agent'
make: *** [subdirs] 错误 1

解决方法:把CC=arm-arago-linux-gnueabi-gcc放在./configure之前配置
如下:
CC=arm-arago-linux-gnueabi-gcc ./configure --prefix=/usr/local/arm-netsnmp --build=i386-linux --host=arm-linux --enable-mini-agent --disable-ipv6 --with-endianness=little --disable-manuals --disable-ucd-snmp-compatibility --enable-as-needed --disable-embedded-perl --without-perl-modules --disable-snmptrapd-subagent --disable-applications --disable-scripts --disable-static --enable-shared

上述问题解决后
二、编译出错
make后出错:
/usr/bin/ld: cannot find -lnetsnmp
collect2: error: ld returned 1 exit status
make[2]: *** [../blib/arch/auto/NetSNMP/default_store/default_store.so] 错误 1
make[2]:正在离开目录 `/home/zb/ruanjianbao/net-snmp-5.3.1/perl/default_store'
make[1]: *** [subdirs] 错误 2
make[1]:正在离开目录 `/home/zb/ruanjianbao/net-snmp-5.3.1/perl'
make: *** [perlmodules] 错误 1

问题原因:找不到动态库
解决方法:
sudo find / -name libnetsnmp.* //找到库文件的位置

sudo cp /usr/local/snmp3/lib/* /usr/lib/  //复制到系统的库目录下


三、测试出错:
如果提示如下错误:

snmpget: error while loading shared  libraries: libnetsnmp.so.30:

cannot open shared object file: No such file or  directory

       
提示缺少2个动态库文件,解决方法:

cp  /usr/local/lib/libnetsnmpmibs.so.30 /usr/lib 和

cp  /usr/local/lib/libnetsnmpmibs.so.30 /usr/lib



0 0
原创粉丝点击