在centos6.3下编译netfilter_queue的configure有关问题及其解决办法

在centos6.3上编译netfilter_queue的configure问题及其解决方法

1.问题描述

  最新的版本是1.0.2,编译最新的netfilter_queue需要安装libmnl和libnfnetlink.

  安装这两个库,./configure, make和make install

  ./configure的过程中注意 ./configure --prefix=/usr/

  这两个库安装完成之后,在编译netfilter_queue,这个时候问题来了。

  首先是报libnfsnetlink没安装,解决完了之后报libmnl没安装

2.如何解决

  LIBNFNETLINK_CFLAGS="-I/usr/include/libnfnetlink/" LIBNFNETLINK_LIBS="-L/usr/lib/ -lnfnetlink" LIBMNL_CFLAGS="-I/usr/include/libmnl/" LIBMNL_LIBS="-L/usr/lib/ -lmnl" ./configure --prefix=/usr/
3. 还有问题

  这下解决了依赖安装和找到依赖的问题。

  下面报了一个更加诡异的问题,说是tos undeclear. 进入头文件/usr/include/netinet/ip.h查看tos赫然在目。。。

  最后发现问题在于头文件的这一行。

197 //#define       IPTOS_CLASS(class)              ((tos) & IPTOS_CLASS_MASK)
  被系统内核给坑了。。。

  发现问题了,改正过来吧,改成下面所示,重新编译netfilter_queue,搞定!

197 //#define       IPTOS_CLASS(class)              ((class) & IPTOS_CLASS_MASK)