Browse Source

nhrpd: workaround old kernel vs. glibc definition conflics

fixes #908

With kernel-headers-3.10.0 we have:

In file included from netlink_gre.c:15:0:
/usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo'
 struct in6_pktinfo {
        ^
In file included from netlink_gre.c:10:0:
/usr/include/netinet/in.h:536:8: note: originally defined here
 struct in6_pktinfo
        ^
In file included from netlink_gre.c:15:0:
/usr/include/linux/ipv6.h:24:8: error: redefinition of 'struct ip6_mtuinfo'
 struct ip6_mtuinfo {
        ^
In file included from netlink_gre.c:10:0:
/usr/include/netinet/in.h:543:8: note: originally defined here
 struct ip6_mtuinfo

So instead of libc's netinet/in.h include kernel's linux/in.h
and the add sys/socket.h for struct sockaddr since it does not
seem to be defined in kernel headers.
Timo Teräs 2 years ago
parent
commit
004db27ada
1 changed files with 2 additions and 1 deletions
  1. 2 1
      nhrpd/netlink_gre.c

+ 2 - 1
nhrpd/netlink_gre.c

@@ -7,9 +7,10 @@
  * (at your option) any later version.
  */
 
-#include <netinet/in.h>
+#include <sys/socket.h>
 #include <linux/netlink.h>
 #include <linux/rtnetlink.h>
+#include <linux/in.h>
 #include <linux/if.h>
 #include <linux/ip.h>
 #include <linux/ipv6.h>