实战tcpdump4.99.4交叉编译

主要是记录交叉编译的一个坑,不知道为什么网上的教程都没遇到过。

环境

  • libpcap 1.10.4
  • tcpdump 4.99.4
  • WSL

编译步骤

注意事项

  1. 注意解压的时候文件夹名需要是libpcap-1.10.4,由于我是在github直接下载zip的压缩包名是libpcap-libpcap-1.10.4.tar.gz解压后libpcap-libpcap-1.10.4,编译tcpdump时会出现问题找不到libpcap
  2. libpcap-1.10.4和tcpdump-4.99.4需要放在同一级目录下
1.编译libpcap
  1. tar zxvf libpcap-1.10.4.tar.gz
  2. cd libpcap-1.10.4
  3. ./configure --prefix=$PWD/install --host=arm CC=/opt/gcc-linaro-5.4.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
  4. make
  5. make install
2.编译tcpdump(默认是静态链接)
  1. tar zxvf tcpdump-4.99.4.tar.gz

  2. cd tcpdump-4.99.4.tar.gz

  3. ./configure --prefix=$PWD/install --host=arm CC=/opt/gcc-linaro-5.4.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

  4. make 可能会提示错误如下:

    /opt/gcc-linaro-5.4.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I. -I.../libpcap-1.10.4 -g -O2 -c ./tcpdump.c

    In file included from /opt/gcc-linaro-5.4.1-2017.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/string.h:634:0,

    from ./tcpdump.c:117:

    ./netdissect.h:133:14: error: expected identifier or '(' before 'extension '

    extern char *strdup (const char *str);

    ^

    ./netdissect.h:137:14: error: expected identifier or '(' before 'extension '

    extern char *strsep(char **, const char *);

    那就去修改Makefile的INCLS

    makefile 复制代码
    INCLS = -I. -I../libpcap-1.10.4/install/include
  5. make install

相关推荐
KakiNakajima3 分钟前
CentOS 7 x86系统安装EMQX 【kaki备忘录】
linux·运维·centos
少年、潜行1 小时前
F1C100/200S学习笔记(1)-- 核心板和验证板硬件设计
linux·驱动开发·f1c200s
东木君_1 小时前
Linux 驱动框架中 Class 机制完整讲解(以 ov13855 摄像头为例)
linux
yiSty2 小时前
linux命令行下使用百度云网盘【自用】
linux·运维·百度云
超绝振刀怪2 小时前
【Linux工具】环境基石:软件包管理器 yum 与 Vim 编辑器详解
linux·编辑器·vim
福尔摩斯张2 小时前
插件式架构:解耦与扩展的艺术与实践(超详细)
linux·服务器·网络·网络协议·tcp/ip
txzz88882 小时前
CentOS-Stream-10 搭建YUM源Web服务器
linux·运维·centos·yum源·linux系统更新·centos系统更新·自建web yum源
Molesidy3 小时前
【Linux】基于Imx6ull Pro开发板和platform_device+platform_driver框架的LED驱动设计以及上机测试
linux·驱动开发
ShirleyWang0123 小时前
【取证学习】Linux系统的证据收集和分析 解决dd备份磁盘爆掉
linux·运维·学习
我科绝伦(Huanhuan Zhou)3 小时前
Linux系统硬件时钟与系统时钟深度解析及同步实操指南
linux·运维·服务器