最近要写一个iptables的nflog接收软件,去网上找到了一个历程,下载下来安装后提示缺少libnetfilter_log库。软件作者提示可以去netfilter官网上查看此库的说明。于是我便去官网上找到了这个库的文档和下载地址。在这不得不说的是,如果要进行基于linux某些模块的开发工作,这些模块的官网是必须要看的,上面可能有模块的开发说明文档,比如说这个libnetfilter_log模块,官网上就有相关的函数说明,写的非常清除。为了安装这个库,我便从官网上下载了安装文件准备安装,而这也是悲剧的开始。
下完安装包后./configure, 结果报错说找不到libnfnetlink,可是这个库文件明明在lib下放着啊!百思不得其解。之后去网上查了查说是因为dkg-config中没有记录库的相关信息,就是缺少.pc文件,到lib/dkg_config下查看后发现还真是缺这个。但是我也没法自己造出这个文件啊!看来唯一的办法是让configure绕过dkg-config了。幸好软件的作者已经考虑到了这一点,可以通过设置两个环境变量来绕过dkg-config。设置完变量后configure终于通了,但是make又遇到问题,这次是说缺少头文件。于是又去网上查解决办法,有网友说libnfnetlink的安装包中有这个头文件。于是我便去下载了libnfnetlink这个安装包,并拷贝了头文件。再次make,头文件是找到了,但是又提示缺少一个什么lo文件。(lo: 使用libtool编译出的目标文件,其实就是在o文件中