因为项目原因,一个几乎需要在所有发行版上运行的程序需要用到libnl3,于是蛋疼的编译libnl3之旅开始了
第一个从centos5.11开始:
1.下载最新的flex和bison源码包并编译安装
2.安装系统头文件: sudo yum install kernel-devel.x86_64
3.把系统头文件添加到CFLAGS:export CFLAGS=-I/usr/src/kernels/`uname -r`/include (如果yum安装的头文件和系统内核版本不一致,没关系,这里把`uname -r`替换为实际的头文件路径名就行)
4.下载libnl3的源码,最新版本的3.2.25没能编过去,因为用到了tcp.h中tcp_info结构体从3.11以后才添加定义的成员,问题没有解决,以后解决了会补充上。经测试3.2.12版本可以编译过去
5.进入libnl3的源码目录,./configure && make && make install
To be continued