首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gumstix上编译/安装jpcap失败

在Gumstix上编译/安装jpcap失败
EN

Stack Overflow用户
提问于 2012-03-20 23:50:01
回答 2查看 1.2K关注 0票数 0

(在我之前的问题中可以找到一些背景知识,如果它有助于帮助我的话:JamVm not running an application (that uses jpcap) on Gumstix )。

我正试图在Gumstix overo板上运行一个包嗅探java应用程序。这个应用程序是在windows7上使用Netbeans开发的,当我尝试在Gumstix (使用JamVm)上运行它时,我得到了一个错误,说一个文件libjpcap.so丢失了。然后我搜索了angstrom发行版的jpcap包(或libjpcap.so),也搜索了arm架构(不管发行版),但什么都没找到。

因此,按照jpcap网站(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/install.html)上的建议,我现在正在尝试在我的Gumstix板上编译jpcap源代码。在makefile (/src/c/Makefile)中,我将JAVA_HOME设置为/usr/java/latest。当我执行'make‘时,我得到了大量的错误。其中的几个如下所示:

代码语言:javascript
复制
root@overo:/usr/src/jpcapTar/jpcap-0.7/src/c# make
gcc -shared -L. -I/usr/java/latest/include -I/usr/java/latest/include/linux\
         -I/usr/include\
        JpcapCaptor.c JpcapSender.c JpcapWriter.c\
          packet_arp.c packet_datalink.c packet_icmp.c packet_ip.c\
          packet_ipv6.c packet_tcp.c packet_udp.c\
        -o libjpcap.so -lpcap
JpcapCaptor.c:6:16: error: jni.h: No such file or directory
JpcapCaptor.c:7:17: error: pcap.h: No such file or directory
In file included from JpcapCaptor.c:35:
Jpcap_sub.h:53: error: expected '=', ',', ';', 'asm' or '__attribute__' before '
*' token
Jpcap_sub.h:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '
*' token
Jpcap_sub.h:55: error: 'PCAP_ERRBUF_SIZE' undeclared here (not in a function)
Jpcap_sub.h:57: error: expected '=', ',', ';', 'asm' or '__attribute__' before '
JpcapHandler'
Jpcap_sub.h:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before '
UnknownHostException

看到jni.h导致了第一条错误消息,我搜索了我的linux机器,但是找不到jni.h。这个丢失的文件是导致错误的原因吗?我是不是忘了在什么地方添加一些路径?

任何帮助都将不胜感激。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-11 23:53:00

(回答我自己的问题,希望能对别人有所帮助)

为了在Gumstix上编译jpcap,我首先需要提供以下文件和文件夹: 1) jni.h (我是从jamvm源代码中获得的) 2) libpcap-1.1.1源代码(从tcpdump下载)

现在,在jpcap make文件(位于/jpcap-0.7/src/c/)中,我修改了JAVA_DIR和PCAP_INCLUDE,使其指向我刚刚下载libpcap和jni.h的文件夹。

Jpcap仍然不能编译。它查找名为'libpcap.so‘的文件,而我的gumstix查找的是'libpcap.so.1’。因此,我创建了一个指向此文件的符号链接:

代码语言:javascript
复制
ln --symbolic libpcap.so.1 libpcap.so

这次运行'make‘会创建文件'libjpcap.so’。接下来,我将此文件复制到/usr/lib/,并将LD_LIBRARY_PATH指向以下文件夹:

export LD_LIBRARY_PATH=/usr/lib/

数据包嗅探应用程序在此之后开始工作。(我希望我没有错过/忘记任何一步。)

票数 1
EN

Stack Overflow用户

发布于 2012-03-21 03:48:02

对于此错误:

代码语言:javascript
复制
JpcapCaptor.c:6:16: error: jni.h: No such file or directory 

和另一个-I,并指向jdkInstallRoot目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9790170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档