build libpcap for current host

step0、参考

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakegmakegcc / GCC | Clang / LLVMflexbison
运行时glibc ( libc.solibdl.sold-linux-x86-64.so )

step2、使用curl命令下载libpcap源码包 (

curl -LO https://www.tcpdump.org/release/libpcap-1.9.1.tar.gz

step3、使用tar解压libpcap源码包

tar vxf libpcap-1.9.1.tar.gz

step4、进入libpcap-1.9.1目录

cd libpcap-1.9.1

step5、查看libpcap-1.9.1目录中的内容

step6、使用cmake命令配置编译参数

cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量类型默认值说明
LEX_EXECUTABLEFILEPATH指定flex
YACC_EXECUTABLEFILEPATH指定bison
BUILD_SHARED_LIBSBOOLON是否生成动态库。默认只生成静态库
BDEBUGBOOLOFF是否生成debug符号信息
INET6BOOLON是否支持ipv6
ENABLE_REMOTEBOOLOFF是否支持远程
DISABLE_USBBOOLOFF是否支持USB Sniffer
DISABLE_SEPTELBOOLOFF是否支持Septel Card
DISABLE_RDMABOOLOFF是否支持RDMA sniffing
DISABLE_NETMAPBOOLOFF是否支持netmap
DISABLE_DBUSBOOLON是否支持dbus
DISABLE_BLUETOOTHBOOLOFF是否支持Bluetooth sniffing
DISABLE_DAGBOOLOFF是否支持Endace DAG
DAG_INCLUDE_DIRPATH设置Endace DAG头文件搜索路径
DAG_LIBRARYFILEPATH设置Endace DAG库文件搜索路径
DAGCONF_LIBRARYFILEPATH设置Endace DAG库文件搜索路径
DISABLE_TCBOOLOFF是否支持Riverbed TurboCap
TC_INCLUDE_DIRPATH设置Riverbed TurboCap头文件搜索路径
TC_LIBRARYFILEPATH设置Riverbed TurboCap库文件搜索路径
DISABLE_SNFBOOLOFF是否支持Myricom SNF
SNF_INCLUDE_DIRPATH设置Myricom SNF头文件搜索路径
SNF_LIBRARYFILEPATH设置Myricom SNF库文件搜索路径

示例:

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -G "Unix Makefiles" \
    -Wno-dev \
    -S . \
    -B build

step7、使用gmake编译并安装

make --directory=build install