Due to both <netinet/in.h> and <linux/in6.h> being included, the in6_addr is being redefined: once from the C library headers and once from the kernel headers. This causes some build failures with for example the musl C library:
In file included from ../include/linux/xfrm.h:4:0, from xfrm.h:29, from ipxfrm.c:39: ../include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’ struct in6_addr { ^ In file included from .../output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netdb.h:9:0, from ipxfrm.c:34: .../output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:24:8: note: originally defined here struct in6_addr ^ In order to fix this, use just the C library header <netinet/in.h>. Original patch taken from http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch. Signed-off-by: Thomas Petazzoni <thomas.petazz...@free-electrons.com> --- include/libiptc/ipt_kernel_headers.h | 2 -- include/linux/if_bridge.h | 1 - include/linux/netfilter.h | 2 -- include/linux/xfrm.h | 1 - 4 files changed, 6 deletions(-) diff --git a/include/libiptc/ipt_kernel_headers.h b/include/libiptc/ipt_kernel_headers.h index 7e87828..9566be5 100644 --- a/include/libiptc/ipt_kernel_headers.h +++ b/include/libiptc/ipt_kernel_headers.h @@ -15,12 +15,10 @@ #else /* libc5 */ #include <sys/socket.h> #include <linux/ip.h> -#include <linux/in.h> #include <linux/if.h> #include <linux/icmp.h> #include <linux/tcp.h> #include <linux/udp.h> #include <linux/types.h> -#include <linux/in6.h> #endif #endif diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index ee197a3..f823aa4 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h @@ -15,7 +15,6 @@ #include <linux/types.h> #include <linux/if_ether.h> -#include <linux/in6.h> #define SYSFS_BRIDGE_ATTR "bridge" #define SYSFS_BRIDGE_FDB "brforward" diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index b71b4c9..3e4e6ae 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h @@ -4,8 +4,6 @@ #include <linux/types.h> #include <linux/sysctl.h> -#include <linux/in.h> -#include <linux/in6.h> /* Responses from hook functions. */ #define NF_DROP 0 diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index b8f5451..a9761a5 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h @@ -1,7 +1,6 @@ #ifndef _LINUX_XFRM_H #define _LINUX_XFRM_H -#include <linux/in6.h> #include <linux/types.h> /* All of the structures in this file may not change size as they are -- 2.6.3 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html