ARM的交叉编译net-snmp

时间:2016-04-27 17:52:14

标签: arm cross-compiling snmp net-snmp

您好

我正在尝试为ARM平台(我的STB)交叉编译net-snmp代理(snmpd)。我可以成功编译“--mini-agent”版本,这个版本不是很有用(只知道它自己,而不是它运行的系统)。我有点一路走(我猜),但是我对这个错误与libpcre有关,也许有人可以帮助我。这是我的工作:

我正在使用工具链“arm-linux-gnueabihf”(我甚至不确定,这是正确的术语)。

我正在下载net-snmp并像这样运行configure:

./configure \
--host=arm-linux-gnueabihf \
--target=arm-linux-gnueabihf \
--build=i686 \
--disable-manuals \
--disable-ipv6 \
--with-cc=arm-linux-gnueabihf-gcc \
--with-ar=arm-linux-gnueabihf-ar \
--without-rpm \
--disable-applications \
--disable-embedded-perl \
--disable-deprecated \
--disable-shared \
--enable-static LDFLAGS="-L/home/crayfish/openvuplus_3.0/build/vusolo4k/tmp/sysroots/vusolo4k/usr/lib/libpcre"  \
--with-sysroot=/home/crayfish/openvuplus_3.0/build/vusolo4k/tmp/sysroots/vusolo4k/

/home/crayfish/openvuplus_3.0是STB的源代码所在的位置,还有libpcre:

file /home/crayfish/openvuplus_3.0/build/vusolo4k/tmp/sysroots/vusolo4k/usr/lib/libpcre.so.1.2.4
/home/crayfish/openvuplus_3.0/build/vusolo4k/tmp/sysroots/vusolo4k/usr/lib/libpcre.so.1.2.4: ELF 32-bit LSB  shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=335b7191beb073ea9f6567442c6269855f4053bc, not stripped

现在,大部分内容都是由我猜测工作或反复试验,但配置脚本运行正常(据我所见),但它在 make 时抛出了这个错误:< / p>

libtool: link: arm-linux-gnueabihf-gcc -fno-strict-aliasing -g -O2 -Ulinux -Dlinux=linux -Wall -Wstrict-prototypes -Wwrite-strings -Wcast-qual -o snmpd snmpd.o -L/home/crayfish/openvuplus_3.0/build/vusolo4k/tmp/sysroots/vusolo4k/usr/lib/libpcre ./.libs/libnetsnmpagent.a ./.libs/libnetsnmpmibs.a /home/crayfish/code/agent/.libs/libnetsnmpagent.a /home/crayfish/code/snmplib/.libs/libnetsnmp.a -ldl ../snmplib/.libs/libnetsnmp.a -lm
./.libs/libnetsnmpmibs.a(proc.o): In function `proc_parse_config':
/home/crayfish/code/agent/mibgroup/ucd-snmp/proc.c:232: undefined reference to `pcre_compile'
./.libs/libnetsnmpmibs.a(swrun.o): In function `swrun_count_processes_by_regex':
/home/crayfish/code/agent/mibgroup/host/data_access/swrun.c:134: undefined reference to `pcre_exec'
collect2: error: ld returned 1 exit status
make[1]: *** [snmpd] Fehler 1
make[1]: Verzeichnis »/home/crayfish/code/agent« wird verlassen
make: *** [subdirs] Fehler 1

正如您可能看到的那样,我试图让系统知道libpcre所在的位置,但是 - 对于我的生活 - 我无法弄清楚要使用的语法。

所以,任何和每一个帮助都将受到高度赞赏!!!

托马斯

0 个答案:

没有答案