编译wireshark
编译环境
Centos 8
yum
cmake 3.18及以上
(还有很多我就不一一列举)
编译源码版本
wireshark3.4.5
编译官方文档
UNIX: Installation and Build Instructions
我写这篇博客只是单抽出在Centos上如何完成对wireshark的编译
编译
按官方文档的步骤我给出补充说明,帮助大家快速完成编译,少走弯路。
- 下载包
进行下载你需要使用yum
- C and C++
yum install -y gcc gcc-c++
- Flex
yum install -y flex
- Perl
yum install -y perl
- python3
yum install -y python3
- cmake
yum install -y cmake
- several required libraries
就是一些额外的你的环境中需要安装的其他包
- 下载其他包
到wireshark源码的根目录下的tools文件中
执行
chmod 775 rpm-setup.sh
接着执行
./rpm-setup.sh
开始安装其他包,在安装前会检查你系统中是否具备启动安装的条件,也就是检查是否缺少了必要的包。
缺少了,系统会使用yum去安装,但是如果你的yum源中并没有相关的包,脚本就会抛出
xxx not found
这个时候你有两种方式,
一种是增加yum源(一般阿里源就够了但是会有少数一些包找不到)如果你对yum源不熟悉,不确定源中有没有你需要的包,我不建议你去盲目的尝试增加源。
一种就是到网上找你需要的rpm包,推荐一个网站
http://www.rpmfind.net/
因为缺少的包的数量不多,所以是可以手动下载然后安装,下载到rpm包以后执行
rpm -i xxx.rpm
安装完成重新执行上一个命令,开始安装编译需要的包
执行完这个命令以后,加上参数 --install-optional
./rpm-setup.sh --install-optional
再安装一些编译需要的包,这个过程同样会检查系统中有没有其启动下载所需要的包,没有就会报
xxx not found
解决了这个问题,再重新带参启动命令完成安装 - cmake
上面两个安装完成以后,退到根目录下。建立build目录
mkdir build
进入到build目录执行
cmake ..
完成以后再执行
make
到这里就编译完成了
- tips
在cmake … 中可能会出现一些问题,你需要根据这些具体的报错来寻找解决办法。
最常见的就是版本问题,你需要调整一些包的版本。版本高了删除,重下。版本低了,尝试更新或者手动安装。
开路不易,点赞关注给我动力!
有问题欢迎私信或留言