我在 CentOS 5.9 上构建iptraf-ng并遇到以下错误:
src/packet.c: In function ‘packet_process’:
src/packet.c:322: error: ‘ETH_P_QINQ1’ undeclared (first use in this function)
src/packet.c:322: error: (Each undeclared identifier is reported only once
src/packet.c:322: error: for each function it appears in.)
src/packet.c:323: error: ‘ETH_P_QINQ2’ undeclared (first use in this function)
src/packet.c:324: error: ‘ETH_P_QINQ3’ undeclared (first use in this function)
src/packet.c:325: error: ‘ETH_P_8021AD’ undeclared (first use in this function)
我假设这是来自构建没有正确看到内核或网络接口常量定义。这是在虚拟机上,普通版本的 straightiptraf
不能与 vnet0 一起使用。
在此处包含支持库进行编译的正确步骤是什么?
您要么没有安装内核头文件,要么这些符号已在内核版本 2.6.19 或更新版本中引入。在后一种情况下,你运气不好,应该升级到 centos 6。