1. download source code
https://www.tcpdump.org/
選左手邊的Latest Release
下載
tcpdump-4.3.0.tar.gz
libpcap-1.3.0.tar.gz
2. 編譯 libpcap
建立安裝目錄
mkdir install
解壓縮
tar -zxvf libpcap-1.3.0.tar.gz
cd libpcap-1.3.0/
配置:交叉編譯器及安裝目錄 (要絕對路徑)
./configure --host=arm-none-linux-gnueabi --prefix=/install
碰到錯誤:
configure: error: pcap type not determined when cross-compiling; use --with-pcap=...
加入--with-pcap=linux 再一次
./configure --host=arm-none-linux-gnueabi --prefix=/install --with-pcap=linux
配置成功!
編譯:
make
make install
會把相關動態連結資料檔都放在install目錄裡
接續:
你可以把這些libs copy到你的交叉編譯器lib的目錄 和rootfs/lib (可能需要root權限)
查看交叉編譯器位置
which arm-none-linux-gnueabi-gcc
cd install/lib
cp -d ./* <cross-compiler root>/lib
3.編譯tcpdump
解壓縮
tar -zxvf tcpdump-4.3.0.tar.gz
cd tcpdump-4.3.0/
配置:
./configure --host=arm-none-linux-gnueabi
碰到錯誤:
configure: error: cannot determine linux version when cross-compiling
配置ac_cv_linux_vers=2 再一次
./configure --host=arm-none-linux-gnueabi ac_cv_linux_vers=2
配置成功!
編譯:
make
碰到錯誤:
./addrtoname.c:710: error: invalid 'asm': invalid operand for code 'w'
修改makefile
INCLS = -I. -I./../libpcap-1.3.0 -I/usr/include -I./missing
成:
INCLS = -I. -I./../libpcap-1.3.0 -I<your cross-compile path>/include -I./missing
make
完成

請先 登入 以發表留言。