From 723bbfd8bdb76012a3da937c7499cf3c0b111dd5 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 20 Aug 2016 11:13:56 +0200 Subject: [PATCH] kernel_netlink.c: don't include MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Including causes the inclusion of , which defines 'struct in6_addr', also defined in , causing a build failure with the musl C library: In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, from kernel_netlink.c:42, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’ struct in6_addr { ^ In file included from kernel_netlink.c:33:0, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: note: originally defined here struct in6_addr { ^ In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, from kernel_netlink.c:42, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:49:8: error: redefinition of ‘struct sockaddr_in6’ struct sockaddr_in6 { ^ In file included from kernel_netlink.c:33:0, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: note: originally defined here struct sockaddr_in6 { ^ In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, from kernel_netlink.c:42, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:59:8: error: redefinition of ‘struct ipv6_mreq’ struct ipv6_mreq { ^ In file included from kernel_netlink.c:33:0, from kernel.c:31: /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: note: originally defined here struct ipv6_mreq { ^ In order to address this, this patch removes the inclusion, and instead defines BRCTL_GET_BRIDGES to the appropriate value if it's not provided by the C library. Signed-off-by: Thomas Petazzoni --- kernel_netlink.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel_netlink.c b/kernel_netlink.c index 4eadc39..1a5b3dd 100644 --- a/kernel_netlink.c +++ b/kernel_netlink.c @@ -39,10 +39,14 @@ THE SOFTWARE. #include #include #include -#include #include #include +/* From */ +#ifndef BRCTL_GET_BRIDGES +#define BRCTL_GET_BRIDGES 1 +#endif + #if(__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 5) #define RTA_TABLE 15 #endif -- 2.7.4