实战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

相关推荐
醇氧13 分钟前
WSL2(Windows Subsystem for Linux ) 从入门到实践指南
linux·运维·服务器·windows·学习
wangyangyangcumt16 分钟前
银河麒麟V10 SP3离线安装Nginx1.21.5全记录
linux·运维·数据库
羊小蜜.43 分钟前
Linux 03:僵死进程(Zombie Process)原理、危害与解决方案
linux·运维·服务器
yang9yun1 小时前
linux宝塔面板使用API自动部署更新文件
linux·运维·状态模式
cen__y1 小时前
Linux06(进程)
linux·运维·服务器·c语言·ubuntu
bruk_spp1 小时前
linux子系统之drm dsi
linux
码银1 小时前
使用VMware安装CentOS7(Linux)操作系统(图文步骤)附vmware安装包/centos.iso镜像文件
linux·运维·centos
似水এ᭄往昔1 小时前
【Linux】--磁盘和文件系统
linux·运维·数据库
hhl_483841041 小时前
上海域格4G模块信号说明
linux·功能测试·物联网·信号处理·tcp
IMPYLH1 小时前
Linux 的 sum 命令
linux·运维·服务器·chrome·python·bash