summaryrefslogtreecommitdiff
path: root/sys-cluster/keepalived/files/keepalived-fix-building-with-linux-headers-4.15.patch
blob: 542b1554ac09ef7fc309e9b703309c3a9f64d9ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
From 947248af144bcab6376ccddab8dc40f313b14281 Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Fri, 9 Feb 2018 11:55:19 +0200
Subject: [PATCH] Fix build with Linux kernel headers v4.15

Linux kernel version 4.15 changed the libc/kernel headers suppression
logic in a way that introduces collisions:

In file included from ./../include/vrrp_ipaddress.h:32:0,
                 from ./../include/vrrp_arp.h:31,
                 from vrrp.c:29:
/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/linux/in.h:29:3: error: redeclaration of enumerator 'IPPROTO_IP'
   IPPROTO_IP = 0,  /* Dummy protocol for TCP  */
   ^
/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/netinet/in.h:33:5: note: previous definition of 'IPPROTO_IP' was here
     IPPROTO_IP = 0,    /* Dummy protocol for TCP.  */
     ^~~~~~~~~~

Include the libc netinet/in.h header first to suppress the kernel
header.

In addition, add _GNU_SOURCE to vrrp.c for the libc provided in6_pktinfo
definition.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 keepalived/include/vrrp_arp.h | 1 +
 keepalived/vrrp/vrrp.c        | 1 +
 2 files changed, 2 insertions(+)

diff --git a/keepalived/include/vrrp_arp.h b/keepalived/include/vrrp_arp.h
index c2b4e6b5..9dd68f63 100644
--- a/keepalived/include/vrrp_arp.h
+++ b/keepalived/include/vrrp_arp.h
@@ -24,6 +24,7 @@
 #define _VRRP_ARP_H
 
 /* system includes */
+#include <netinet/in.h>
 #include <net/ethernet.h>
 #include <net/if_arp.h>
 
diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
index 56395363..eaa9c567 100644
--- a/keepalived/vrrp/vrrp.c
+++ b/keepalived/vrrp/vrrp.c
@@ -26,6 +26,7 @@
 #include "config.h"
 
 /* local include */
+#define _GNU_SOURCE
 #include "vrrp_arp.h"
 #include "vrrp_ndisc.h"
 #include "vrrp_scheduler.h"