简介:因工作原因需要在离线的环境安装libpcap,查了许多资料终于解决了环境问题,记录一下安装过程,及解决的问题,具体如下:
1. Linux源码编译bison和flex
在安装libpcap之前需要安装flex,而flex需要bison。GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR(1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。参考Linux源码编译bison和flex_flex源码下载-CSDN博客
编译环境为kylin系统,aarch64结构。
1.1 bison编译:
bison下载链接:http://mirrors.ustc.edu.cn/gnu/bison/bison-3.1.tar.xz
tar -xf bison-3.1.tar.xz
cd bison-3.1
mkdir build && cd build
../configure
make && make install
我用的麒麟系统,安装的时候在进行configure的时候要加上--build = aarch64-unknow-linux-gnu即../configure --build = aarch64-unknow-linux-gnu;如果没用麒麟系统可以不加--build = aarch64-unknow-linux-gnu或者查以下系统是什么结构的并修改arrch64(代表系统的结构)。
由于我是麒麟系统(kylin),以下我将都加上--build = aarch64-unknow-linux-gnu
1.2 flex编译:
下载以下安装包并安装:
libtool-2.4.tar.xz http://mirrors.ustc.edu.cn/gnu/libtool/libtool-2.4.tar.xz
gettext-0.21.tar.xz http://mirrors.ustc.edu.cn/gnu/gettext/gettext-0.21.tar.xz
texinfo-6.7.tar.xz http://mirrors.ustc.edu.cn/gnu/texinfo/texinfo-6.7.tar.xz
help2man-1.47.9.tar.xz http://mirrors.ustc.edu.cn/gnu/help2man/help2man-1.47.9.tar.xz
按照下面代码逐个解压并安装
tar -xf (name).tar.xz
./configure --build = aarch64-unknow-linux-gnu
make && make install
flex安装包:https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
tar -xf flex-2.6.4.tar.gz
cd flex-2.6.4
sh autogen.sh
mkdir build && cd build
../configure --build = aarch64-unknow-linux-gnu
make && make install
2. libpcap的编译安装
libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下的tcpdump就是以它为基础。
2.1. tcpdump编译安装
tcpdump下载链接:
如果linux系统中没有tcpdump需要下载源码编译
tar -xf tcpdump-4.99.4.tar.xz
cd tcpdump-4.99.4
./configure --build = aarch64-unknow-linux-gnu
make
sudo make install
2.2 libpcap编译安装
tar -xf libpcap-1.10.4.tar.gz
cd libpcap-1.10.4
./configure --prefix=/opt/libpcap-1.10.4 --build = aarch64-unknow-linux-gnu
make
sudo make install
/opt/libpcap-1.10.4 为libpcap的安装目录