net-snmp交叉編譯時問題總結
阿新 • • 發佈:2019-02-13
遇到的問題:
一、配置出錯
錯誤如下:
./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
一、配置出錯
錯誤如下:
./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