From da285876dc69caa41064470922e45d922551f6b1 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 25 Aug 2022 06:17:05 -0700 Subject: lxc: fix compilation error for ARM/ARM64 There's compilation error when building lxc for ARM/ARM64 BSPs. The error message is as below: | ../git/src/lxc/cgroups/cgfsng.c:1234:111: error: incompatible type for argument 10 of 'sd_bus_call_method_asyncv' The 10th argument is of type va_list but NULL is supplied, thus causing compilation error. So we use sd_bus_call_method_async to replace the asyncv one to solve this issue. Signed-off-by: Chen Qi Signed-off-by: Bruce Ashfield --- ...call_method_async-to-replace-the-asyncv-o.patch | 49 ++++++++++++++++++++++ recipes-containers/lxc/lxc_git.bb | 1 + 2 files changed, 50 insertions(+) create mode 100644 recipes-containers/lxc/files/0001-use-sd_bus_call_method_async-to-replace-the-asyncv-o.patch (limited to 'recipes-containers') diff --git a/recipes-containers/lxc/files/0001-use-sd_bus_call_method_async-to-replace-the-asyncv-o.patch b/recipes-containers/lxc/files/0001-use-sd_bus_call_method_async-to-replace-the-asyncv-o.patch new file mode 100644 index 00000000..ef87a0ce --- /dev/null +++ b/recipes-containers/lxc/files/0001-use-sd_bus_call_method_async-to-replace-the-asyncv-o.patch @@ -0,0 +1,49 @@ +From b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Thu, 25 Aug 2022 05:45:53 -0700 +Subject: [PATCH] use sd_bus_call_method_async to replace the asyncv one + +The sd_bus_call_method_asyncv's 10th parameter is of type +va_list and supplying NULL when invoking it causes compilation +error. Just replace it with the async one. + +Upstream-Status: Submitted [https://github.com/lxc/lxc/pull/4187] + +Signed-off-by: Chen Qi +--- + meson.build | 4 ++-- + src/lxc/cgroups/cgfsng.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 21955a050..f8bdcf4e8 100644 +--- a/meson.build ++++ b/meson.build +@@ -295,9 +295,9 @@ if not want_sd_bus.disabled() + has_sd_bus = false + endif + +- if not cc.has_function('sd_bus_call_method_asyncv', prefix: '#include ', dependencies: libsystemd) ++ if not cc.has_function('sd_bus_call_method_async', prefix: '#include ', dependencies: libsystemd) + if not sd_bus_optional +- error('libsystemd misses required sd_bus_call_method_asyncv function') ++ error('libsystemd misses required sd_bus_call_method_async function') + endif + + has_sd_bus = false +diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c +index 8a3615893..d90e5385e 100644 +--- a/src/lxc/cgroups/cgfsng.c ++++ b/src/lxc/cgroups/cgfsng.c +@@ -1232,7 +1232,7 @@ static int unpriv_systemd_create_scope(struct cgroup_ops *ops, struct lxc_conf * + if (r < 0) + return log_error(SYSTEMD_SCOPE_FAILED, "Failed to connect to user bus: %s", strerror(-r)); + +- r = sd_bus_call_method_asyncv(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL, NULL); ++ r = sd_bus_call_method_async(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL); + if (r < 0) + return log_error(SYSTEMD_SCOPE_FAILED, "Failed to subscribe to signals: %s", strerror(-r)); + +-- +2.37.1 + diff --git a/recipes-containers/lxc/lxc_git.bb b/recipes-containers/lxc/lxc_git.bb index bcc17953..9cabe054 100644 --- a/recipes-containers/lxc/lxc_git.bb +++ b/recipes-containers/lxc/lxc_git.bb @@ -44,6 +44,7 @@ SRC_URI = "git://github.com/lxc/lxc.git;branch=master;protocol=https \ file://templates-use-curl-instead-of-wget.patch \ file://0001-download-don-t-try-compatbility-index.patch \ file://tests-our-init-is-not-busybox.patch \ + file://0001-use-sd_bus_call_method_async-to-replace-the-asyncv-o.patch \ file://dnsmasq.conf \ file://lxc-net \ " -- cgit v1.2.3-54-g00ecf