diff options
author | Khem Raj <raj.khem@gmail.com> | 2017-07-22 09:50:43 -0700 |
---|---|---|
committer | Joe MacDonald <joe_macdonald@mentor.com> | 2017-09-08 16:38:41 -0400 |
commit | a669e44708e985f717b6af876fe5e5e24e9afa17 (patch) | |
tree | 3b48ee40d9ce12f5156a32b8cea56449ff3af782 | |
parent | 0f57a51209586a2d5277d3a9ca0aac34a4eb228f (diff) | |
download | meta-openembedded-a669e44708e985f717b6af876fe5e5e24e9afa17.tar.gz |
openflow: Fix build with musl
Regenerate configure before running oe_runconf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
4 files changed, 129 insertions, 2 deletions
diff --git a/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-networking/recipes-protocols/openflow/openflow.inc index 0ae2d1f1d..cccbfa19a 100644 --- a/meta-networking/recipes-protocols/openflow/openflow.inc +++ b/meta-networking/recipes-protocols/openflow/openflow.inc | |||
@@ -27,9 +27,8 @@ S = "${WORKDIR}/git" | |||
27 | 27 | ||
28 | inherit autotools-brokensep pkgconfig | 28 | inherit autotools-brokensep pkgconfig |
29 | 29 | ||
30 | do_configure() { | 30 | do_configure_prepend() { |
31 | ./boot.sh | 31 | ./boot.sh |
32 | oe_runconf | ||
33 | } | 32 | } |
34 | 33 | ||
35 | do_install_append() { | 34 | do_install_append() { |
diff --git a/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch new file mode 100644 index 000000000..952274bb9 --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | From 7b62e5884353b247f542844d1e4687d0e9211999 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 20 Jul 2017 04:27:32 -0700 | ||
4 | Subject: [PATCH 1/2] Check and use strlcpy from libc before defining own | ||
5 | |||
6 | This is required especially on musl where | ||
7 | function prototype conflicts and causes build | ||
8 | failures. | ||
9 | |||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | configure.ac | 2 +- | ||
13 | lib/util.c | 2 ++ | ||
14 | lib/util.h | 1 + | ||
15 | 3 files changed, 4 insertions(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/configure.ac b/configure.ac | ||
18 | index 13064f6..596c43f 100644 | ||
19 | --- a/configure.ac | ||
20 | +++ b/configure.ac | ||
21 | @@ -57,7 +57,7 @@ OFP_CHECK_HWTABLES | ||
22 | OFP_CHECK_HWLIBS | ||
23 | AC_SYS_LARGEFILE | ||
24 | |||
25 | -AC_CHECK_FUNCS([strsignal]) | ||
26 | +AC_CHECK_FUNCS([strlcpy strsignal]) | ||
27 | |||
28 | AC_ARG_VAR(KARCH, [Kernel Architecture String]) | ||
29 | AC_SUBST(KARCH) | ||
30 | diff --git a/lib/util.c b/lib/util.c | ||
31 | index 21cc28d..1f341b1 100644 | ||
32 | --- a/lib/util.c | ||
33 | +++ b/lib/util.c | ||
34 | @@ -138,6 +138,7 @@ xasprintf(const char *format, ...) | ||
35 | return s; | ||
36 | } | ||
37 | |||
38 | +#ifndef HAVE_STRLCPY | ||
39 | void | ||
40 | strlcpy(char *dst, const char *src, size_t size) | ||
41 | { | ||
42 | @@ -148,6 +149,7 @@ strlcpy(char *dst, const char *src, size_t size) | ||
43 | dst[n_copy] = '\0'; | ||
44 | } | ||
45 | } | ||
46 | +#endif | ||
47 | |||
48 | void | ||
49 | ofp_fatal(int err_no, const char *format, ...) | ||
50 | diff --git a/lib/util.h b/lib/util.h | ||
51 | index fde681f..9e45ea9 100644 | ||
52 | --- a/lib/util.h | ||
53 | +++ b/lib/util.h | ||
54 | @@ -41,6 +41,7 @@ | ||
55 | #include <stdio.h> | ||
56 | #include <string.h> | ||
57 | #include "compiler.h" | ||
58 | +#include "config.h" | ||
59 | |||
60 | #ifndef va_copy | ||
61 | #ifdef __va_copy | ||
62 | -- | ||
63 | 2.13.3 | ||
64 | |||
diff --git a/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch new file mode 100644 index 000000000..75180fe32 --- /dev/null +++ b/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | From 5bba224edea38607e8732081f86679ffd8b218ab Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 20 Jul 2017 04:29:04 -0700 | ||
4 | Subject: [PATCH 2/2] lib/netdev: Adjust header include sequence | ||
5 | |||
6 | Specify libc headers before kernel UAPIs | ||
7 | this helps compiling with musl where otherwise | ||
8 | it uses the definition from kernel and complains | ||
9 | about double definition in libc headers | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | lib/netdev.c | 11 +++++------ | ||
14 | 1 file changed, 5 insertions(+), 6 deletions(-) | ||
15 | |||
16 | diff --git a/lib/netdev.c b/lib/netdev.c | ||
17 | index 3b6fbc5..c7de25e 100644 | ||
18 | --- a/lib/netdev.c | ||
19 | +++ b/lib/netdev.c | ||
20 | @@ -39,7 +39,6 @@ | ||
21 | #include <fcntl.h> | ||
22 | #include <arpa/inet.h> | ||
23 | #include <inttypes.h> | ||
24 | -#include <linux/if_tun.h> | ||
25 | |||
26 | /* Fix for some compile issues we were experiencing when setting up openwrt | ||
27 | * with the 2.4 kernel. linux/ethtool.h seems to use kernel-style inttypes, | ||
28 | @@ -57,10 +56,6 @@ | ||
29 | #define s64 __s64 | ||
30 | #endif | ||
31 | |||
32 | -#include <linux/ethtool.h> | ||
33 | -#include <linux/rtnetlink.h> | ||
34 | -#include <linux/sockios.h> | ||
35 | -#include <linux/version.h> | ||
36 | #include <sys/types.h> | ||
37 | #include <sys/ioctl.h> | ||
38 | #include <sys/socket.h> | ||
39 | @@ -68,12 +63,16 @@ | ||
40 | #include <net/ethernet.h> | ||
41 | #include <net/if.h> | ||
42 | #include <net/if_arp.h> | ||
43 | -#include <net/if_packet.h> | ||
44 | #include <net/route.h> | ||
45 | #include <netinet/in.h> | ||
46 | #include <stdlib.h> | ||
47 | #include <string.h> | ||
48 | #include <unistd.h> | ||
49 | +#include <linux/ethtool.h> | ||
50 | +#include <linux/rtnetlink.h> | ||
51 | +#include <linux/sockios.h> | ||
52 | +#include <linux/version.h> | ||
53 | +#include <linux/if_tun.h> | ||
54 | |||
55 | #include "fatal-signal.h" | ||
56 | #include "list.h" | ||
57 | -- | ||
58 | 2.13.3 | ||
59 | |||
diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index 6403bfb22..eceb45e94 100644 --- a/meta-networking/recipes-protocols/openflow/openflow_git.bb +++ b/meta-networking/recipes-protocols/openflow/openflow_git.bb | |||
@@ -2,3 +2,8 @@ include ${BPN}.inc | |||
2 | 2 | ||
3 | SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a" | 3 | SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a" |
4 | PV = "1.0+git${SRCPV}" | 4 | PV = "1.0+git${SRCPV}" |
5 | |||
6 | SRC_URI += "\ | ||
7 | file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \ | ||
8 | file://0002-lib-netdev-Adjust-header-include-sequence.patch \ | ||
9 | " | ||