前言全局说明
libpcap.so 编译
一、说明
环境:
CentOS Linux 7 (Core)
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
二、下载源码:
官网:
https://www.linuxfromscratch.org
源码下载:
https://www.tcpdump.org/release/libpcap-1.10.5.tar.gz
历史版本:
下载,指定版本:
三、依赖环境
3.1 ubunut
sudo apt-get -y install 
四、编译
4.1 生效编译环境
export toolchain_BIN=你的编译工具链路径/bin## Set toolchain 
export PATH=$toolchain_BIN:$PATH
export target_host=aarch64-linux-gnu (修改成你的编译工具名,bin目录里的)
export CROSS_COMPILE=${target_host}# export ARCH=arm
export ARCH=arm64export AR=${CROSS_COMPILE}-ar
export AS=${CROSS_COMPILE}-as
export CC=${CROSS_COMPILE}-gcc
export CXX=${CROSS_COMPILE}-g++
export LD=${CROSS_COMPILE}-ld
export NM=${CROSS_COMPILE}-nm
export OBJDUMP=${CROSS_COMPILE}-objdump
export STRIP=${CROSS_COMPILE}-strip
4.2 生成 Makefile
./configure --host=${CROSS_COMPILE}
执行成功部分截图
4.3 开始编译
4.3.1 全速编译,使用CPU全部核心
make -j $(nproc)
4.3.2 -j4 用4个线程编译
make -j4
4.3.2 单线程编译,慢
make
4.4 安装so
make install
不需要执行 make install ,因为so是放到嵌入设备的,不是放到当前编译环境的。
4.5 编译结果
ll .libs/
执行成功部分截图
4.6 查看文件架构
file libssl.so.1.1
file libcrypto.so.1.1
五、错误收集:
5.1.1 错误
configure:3710: checking whether the C compiler works
configure:3732: /root/gac/toolchain250918/ql_crosstools/ql-ag35-1806e-gcc-13.3.0-glibc-v1-toolchain/bin/arm-openwrt-linux-gcc   -L/root/gac/toolchain250918/ql-sysroots/lib -L/root/gac/toolchain250918/ql-sysroots/usr/lib  conftest.c  >&5
/root/gac/toolchain250918/ql_crosstools/ql-ag35-1806e-gcc-13.3.0-glibc-v1-toolchain/bin/../lib/gcc/arm-openwrt-linux-gnueabi/13.3.0/../../../../arm-openwrt-linux-gnueabi/bin/ld: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /root/gac/toolchain250918/ql_crosstools/ql-ag35-1806e-gcc-13.3.0-glibc-v1-toolchain/bin/../lib/gcc/arm-openwrt-linux-gnueabi/13.3.0/../../../../arm-openwrt-linux-gnueabi/bin/ld)
5.1.2 解决方法:
yum update
yum install glibc
yum install -y openssl-devel
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.csdn.net/superbfly/article/details/51317958
https://developer.baidu.com/article/detail.html?id=3295012