Hi Ralph, unfortunately this breaks building on a glibc system for me:
-- 8< -- $ make [ 7%] Building C object CMakeFiles/firewall3.dir/iptables.c.o In file included from /usr/include/linux/netfilter_ipv4.h:8:0, from /usr/include/linux/netfilter_ipv4/ip_tables.h:21, from /usr/include/libiptc/libiptc.h:12, from /home/jow/devel/firewall3.git/iptables.h:29, from /home/jow/devel/firewall3.git/iptables.c:19: /usr/include/linux/netfilter.h:75:18: error: field ‘in6’ has incomplete type struct in6_addr in6; ^~~ In file included from /usr/include/libiptc/libip6tc.h:12:0, from /home/jow/devel/firewall3.git/iptables.h:30, from /home/jow/devel/firewall3.git/iptables.c:19: /usr/include/linux/netfilter_ipv6/ip6_tables.h:63:18: error: field ‘src’ has incomplete type struct in6_addr src, dst; ^~~ /usr/include/linux/netfilter_ipv6/ip6_tables.h:63:23: error: field ‘dst’ has incomplete type struct in6_addr src, dst; ^~~ /usr/include/linux/netfilter_ipv6/ip6_tables.h:65:18: error: field ‘smsk’ has incomplete type struct in6_addr smsk, dmsk; ^~~~ /usr/include/linux/netfilter_ipv6/ip6_tables.h:65:24: error: field ‘dmsk’ has incomplete type struct in6_addr smsk, dmsk; ^~~~ In file included from /home/jow/devel/firewall3.git/iptables.h:38:0, from /home/jow/devel/firewall3.git/iptables.c:19: /home/jow/devel/firewall3.git/options.h:182:19: error: field ‘v6’ has incomplete type struct in6_addr v6; ^~ /home/jow/devel/firewall3.git/options.h:187:19: error: field ‘v6’ has incomplete type struct in6_addr v6; ^~ /home/jow/devel/firewall3.git/iptables.c: In function ‘rule_print6’: /home/jow/devel/firewall3.git/iptables.c:1131:48: error: invalid application of ‘sizeof’ to incomplete type ‘struct in6_addr’ if (memcmp(&e->ipv6.src, &in6addr_any, sizeof(struct in6_addr))) ^~~~~~ /home/jow/devel/firewall3.git/iptables.c:1141:48: error: invalid application of ‘sizeof’ to incomplete type ‘struct in6_addr’ if (memcmp(&e->ipv6.dst, &in6addr_any, sizeof(struct in6_addr))) ^~~~~~ CMakeFiles/firewall3.dir/build.make:350: recipe for target 'CMakeFiles/firewall3.dir/iptables.c.o' failed make[2]: *** [CMakeFiles/firewall3.dir/iptables.c.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/firewall3.dir/all' failed make[1]: *** [CMakeFiles/firewall3.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2 -- >8 -- It seems that glibc stops declaring "struct in6_addr" itself as soon as one of "_UAPI_LINUX_IN6_H", "_UAPI_IPV6_H", "_LINUX_IN6_H" or "_IPV6_H" is defined and the kernel obviously does not define that struct either if its own guard is defined. Will see if I find another solution... ~ Jo _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev