[root@vaio ~]# gcc libipt_u32.c In file included from libipt_u32.c:15: /usr/include/iptables.h:5:29: error: libiptc/libiptc.h: No such file or directory In file included from libipt_u32.c:15: /usr/include/iptables.h:24: error: ‘IPT_FUNCTION_MAXNAMELEN’ undeclared here (not in a function) /usr/include/iptables.h:46: error: expected specifier-qualifier-list before ‘ipt_chainlabel’ /usr/include/iptables.h:99: error: expected specifier-qualifier-list before ‘ipt_chainlabel’ /usr/include/iptables.h:168: error: expected declaration specifiers or ‘...’ before ‘iptc_handle_t’ /usr/include/iptables.h:183: error: expected ‘;’, ‘,’ or ‘)’ before ‘chain’ /usr/include/iptables.h:185: error: expected ‘;’, ‘,’ or ‘)’ before ‘chain’ /usr/include/iptables.h:187: error: expected declaration specifiers or ‘...’ before ‘iptc_handle_t’ /usr/include/iptables.h:188: error: expected declaration specifiers or ‘...’ before ‘iptc_handle_t’ libipt_u32.c:16:42: error: linux/netfilter_ipv4/ipt_u32.h: No such file or directory libipt_u32.c: In function ‘help’: libipt_u32.c:31: error: ‘IPTABLES_VERSION’ undeclared (first use in this function) libipt_u32.c:31: error: (Each undeclared identifier is reported only once libipt_u32.c:31: error: for each function it appears in.) libipt_u32.c: At top level: libipt_u32.c:42: warning: ‘struct ipt_entry_match’ declared inside parameter list libipt_u32.c:42: warning: its scope is only this definition or declaration, which is probably not what you want libipt_u32.c: In function ‘init’: libipt_u32.c:44: error: ‘NFC_UNKNOWN’ undeclared (first use in this function) libipt_u32.c: At top level: libipt_u32.c:48: warning: ‘struct ipt_u32’ declared inside parameter list libipt_u32.c: In function ‘print_u32’: libipt_u32.c:52: error: dereferencing pointer to incomplete type libipt_u32.c:57: error: dereferencing pointer to incomplete type libipt_u32.c:58: error: dereferencing pointer to incomplete type libipt_u32.c:59: error: dereferencing pointer to incomplete type libipt_u32.c:60: error: ‘IPT_U32_AND’ undeclared (first use in this function) libipt_u32.c:61: error: ‘IPT_U32_LEFTSH’ undeclared (first use in this function) libipt_u32.c:62: error: ‘IPT_U32_RIGHTSH’ undeclared (first use in this function) libipt_u32.c:63: error: ‘IPT_U32_AT’ undeclared (first use in this function) libipt_u32.c:65: error: dereferencing pointer to incomplete type libipt_u32.c:68: error: dereferencing pointer to incomplete type libipt_u32.c:70: error: dereferencing pointer to incomplete type libipt_u32.c:71: error: dereferencing pointer to incomplete type libipt_u32.c:72: error: dereferencing pointer to incomplete type libipt_u32.c:73: error: dereferencing pointer to incomplete type libipt_u32.c:74: error: dereferencing pointer to incomplete type libipt_u32.c: At top level: libipt_u32.c:104: warning: ‘struct ipt_entry_match’ declared inside parameter list libipt_u32.c:104: warning: ‘struct ipt_entry’ declared inside parameter list libipt_u32.c: In function ‘parse’: libipt_u32.c:106: error: dereferencing pointer to incomplete type libipt_u32.c:123: error: dereferencing pointer to incomplete type libipt_u32.c:124: error: dereferencing pointer to incomplete type libipt_u32.c:126: error: dereferencing pointer to incomplete type libipt_u32.c:127: error: ‘U32MAXSIZE’ undeclared (first use in this function) libipt_u32.c:151: error: dereferencing pointer to incomplete type libipt_u32.c:151: error: ‘IPT_U32_AND’ undeclared (first use in this function) libipt_u32.c:158: error: dereferencing pointer to incomplete type libipt_u32.c:158: error: ‘IPT_U32_LEFTSH’ undeclared (first use in this function) libipt_u32.c:165: error: dereferencing pointer to incomplete type libipt_u32.c:165: error: ‘IPT_U32_RIGHTSH’ undeclared (first use in this function) libipt_u32.c:168: error: dereferencing pointer to incomplete type libipt_u32.c:168: error: ‘IPT_U32_AT’ undeclared (first use in this function) libipt_u32.c:175: error: dereferencing pointer to incomplete type libipt_u32.c:195: error: dereferencing pointer to incomplete type libipt_u32.c:196: error: dereferencing pointer to incomplete type libipt_u32.c:211: error: dereferencing pointer to incomplete type libipt_u32.c:216: error: dereferencing pointer to incomplete type libipt_u32.c:219: error: dereferencing pointer to incomplete type libipt_u32.c:220: error: dereferencing pointer to incomplete type libipt_u32.c: At top level: libipt_u32.c:240: warning: ‘struct ipt_entry_match’ declared inside parameter list libipt_u32.c:240: warning: ‘struct ipt_ip’ declared inside parameter list libipt_u32.c: In function ‘print’: libipt_u32.c:243: error: dereferencing pointer to incomplete type libipt_u32.c: At top level: libipt_u32.c:247: warning: ‘struct ipt_entry_match’ declared inside parameter list libipt_u32.c:247: warning: ‘struct ipt_ip’ declared inside parameter list libipt_u32.c: In function ‘save’: libipt_u32.c:250: error: dereferencing pointer to incomplete type libipt_u32.c: At top level: libipt_u32.c:255: warning: excess elements in struct initializer libipt_u32.c:255: warning: (near initialization for ‘u32’) libipt_u32.c:256: error: ‘IPTABLES_VERSION’ undeclared here (not in a function) libipt_u32.c:256: warning: excess elements in struct initializer libipt_u32.c:256: warning: (near initialization for ‘u32’) libipt_u32.c:257: error: invalid application of ‘sizeof’ to incomplete type ‘struct ipt_u32’ libipt_u32.c:257: warning: excess elements in struct initializer libipt_u32.c:257: warning: (near initialization for ‘u32’) libipt_u32.c:258: error: invalid application of ‘sizeof’ to incomplete type ‘struct ipt_u32’ libipt_u32.c:258: warning: excess elements in struct initializer libipt_u32.c:258: warning: (near initialization for ‘u32’) libipt_u32.c:259: warning: excess elements in struct initializer libipt_u32.c:259: warning: (near initialization for ‘u32’) libipt_u32.c:260: warning: excess elements in struct initializer libipt_u32.c:260: warning: (near initialization for ‘u32’) libipt_u32.c:261: warning: excess elements in struct initializer libipt_u32.c:261: warning: (near initialization for ‘u32’) libipt_u32.c:262: warning: excess elements in struct initializer libipt_u32.c:262: warning: (near initialization for ‘u32’) libipt_u32.c:263: warning: excess elements in struct initializer libipt_u32.c:263: warning: (near initialization for ‘u32’) libipt_u32.c:264: warning: excess elements in struct initializer libipt_u32.c:264: warning: (near initialization for ‘u32’) libipt_u32.c:266: warning: excess elements in struct initializer libipt_u32.c:266: warning: (near initialization for ‘u32’) [root@vaio ~]# gcc libipt_u32.c