summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2018-04-13 10:50:08 +0800
committerBruce Ashfield <bruce.ashfield@windriver.com>2018-04-13 15:53:57 -0400
commit3e709e6665ba89f5875584de259e1689728cf83b (patch)
tree0f9d1436d8140655b8ca948d63b5b87150f064a9
parentdcaa0ca68fc5884a81f01bac8f146b649904a2ea (diff)
downloadmeta-virtualization-3e709e6665ba89f5875584de259e1689728cf83b.tar.gz
criu: fix build failure with newer glibc and kernel
With newer glibc(>= 2.26) and kernel(>=4.14), criu would fail to build: In file included from /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/linux/aio_abi.h:31:0, from criu/cr-check.c:24: /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant MS_RDONLY = 1, /* Mount read-only. */ ^ CC criu/parasite-syscall.o CC criu/pipes.o CC criu/pie-util.o CC criu/pie-util-vdso.o CC criu/plugin.o /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/git/scripts/nmk/scripts/build.mk:110: recipe for target 'criu/cr-check.o' failed make[2]: *** [criu/cr-check.o] Error 1 Backport a patch to fix it. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--recipes-containers/criu/criu_git.bb1
-rw-r--r--recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch47
2 files changed, 48 insertions, 0 deletions
diff --git a/recipes-containers/criu/criu_git.bb b/recipes-containers/criu/criu_git.bb
index 083609fc..7d62f354 100644
--- a/recipes-containers/criu/criu_git.bb
+++ b/recipes-containers/criu/criu_git.bb
@@ -21,6 +21,7 @@ SRC_URI = "git://github.com/xemul/criu.git;protocol=git \
21 file://0002-criu-Skip-documentation-install.patch \ 21 file://0002-criu-Skip-documentation-install.patch \
22 file://0001-criu-Change-libraries-install-directory.patch \ 22 file://0001-criu-Change-libraries-install-directory.patch \
23 file://lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch \ 23 file://lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch \
24 file://fix-building-on-newest-glibc-and-kernel.patch \
24 " 25 "
25 26
26COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" 27COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
diff --git a/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch b/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch
new file mode 100644
index 00000000..d6341da7
--- /dev/null
+++ b/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch
@@ -0,0 +1,47 @@
1From f41e386d4d40e3e26b0cfdc85a812b7edb337f1d Mon Sep 17 00:00:00 2001
2From: Adrian Reber <areber@redhat.com>
3Date: Thu, 28 Sep 2017 09:13:33 +0000
4Subject: [PATCH] fix building on newest glibc and kernel
5
6On Fedora rawhide with kernel-headers-4.14.0-0.rc2.git0.1.fc28.x86_64
7glibc-devel-2.26.90-15.fc28.x86_64 criu does not build any more:
8
9In file included from /usr/include/linux/aio_abi.h:31:0,
10 from criu/cr-check.c:24:
11/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant
12 MS_RDONLY = 1, /* Mount read-only. */
13 ^
14make[2]: *** [/builddir/build/BUILD/criu-3.5/scripts/nmk/scripts/build.mk:111: criu/cr-check.o] Error 1
15make[1]: *** [criu/Makefile:73: criu/built-in.o] Error 2
16make: *** [Makefile:233: criu] Error 2
17
18This simple re-ordering of includes fixes it for me.
19
20Signed-off-by: Adrian Reber <areber@redhat.com>
21Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
22
23Upstream-Status: Backport
24[https://github.com/checkpoint-restore/criu/commit/f41e386d4d40e3e26b0cfdc85a812b7edb337f1d#diff-cc847b1cc975358c6582595be92d48db]
25
26Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
27---
28 criu/cr-check.c | 2 +-
29 1 file changed, 1 insertion(+), 1 deletion(-)
30
31diff --git a/criu/cr-check.c b/criu/cr-check.c
32index 5dd448b..8986ec4 100644
33--- a/criu/cr-check.c
34+++ b/criu/cr-check.c
35@@ -21,8 +21,8 @@
36 #include <netinet/in.h>
37 #include <sys/prctl.h>
38 #include <sched.h>
39-#include <linux/aio_abi.h>
40 #include <sys/mount.h>
41+#include <linux/aio_abi.h>
42
43 #include "../soccr/soccr.h"
44
45--
462.7.4
47