编译Arm板上的tcpdump

编译在开发板上运行的tcpdump

在板上调试网络通信不方便,所以下载tcpdump编译在板上运行,这样方便多了。

linux: ubuntu 10.0.4
板是海思芯片的板

编译很简单,基本不用改任何脚本东西。

从官网上下载.
http://www.tcpdump.org/
libpcap-1.6.1
tcpdump-4.6.1

编译libpcap
我在编译时提示需要flex,和yacc(bison) 所认先安装这两个.
当然./configure里有两个不用的选项 --without-flex,without-bison,如果加上这两个应不用这两个库了吧!(不过我没试,开始没注意到这两个选项)
安装后,编译:
./configure --host=arm-hisiv200-linux --prefix=/home/jht/soft/build --with-pcap=linux
make 
make install
这样在 /home/jht/soft/build 上生成了对应的库了.

编译tcpdump

ac_ca_linux_vers 指定板上的linux版本,如在板上用uname -a查看,这里不指定也可以,我的没有问题。
ac_ca_linux_vers=3.0.8 CC=arm-hisiv200-linux-gcc LIBS=-lpcap LDFLAGS=-L/home/jht/soft/build/lib ./configure --host=arm-hisiv200-linux --prefix=/home/littlecc/soft/build/ --disable-ipv6
或简单点下面的这样编译也可以的. 
CFLAGS=-static LIBS=-lpcap LDFLAGS=-L/home/jht/soft/build/lib ./configure --host=arm-hisiv200-linux --prefix=/home/jht/soft/build/ --disable-ipv6

CFLAGS=-static 指定链接静态的库,如果不指定这个参数,链接的是so库,在板上运行时需要把libpcap.so放到板上.
LDFLAGS LIBS 指定库参数
--disable-ipv6 这里指定应是板上的库还没有支持IPV6的一些函数,所以这里关了,如果你的支持当然不用。

make
make install

最后拷到板上去运行,还好,能正常的用了!

猜你喜欢

转载自blog.csdn.net/jhting/article/details/38927961
今日推荐