package/btrfs-progs: fix musl build
Fix the following musl build failure raised since bump to version 5.15.1
in commit 20181c3f1b
:
In file included from /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/i586-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:4,
from ./kerncompat.h:31,
from common/utils.c:42:
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/i586-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:7:8: error: redefinition of 'struct sysinfo'
7 | struct sysinfo {
| ^~~~~~~
In file included from common/utils.c:27:
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/i586-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
10 | struct sysinfo {
| ^~~~~~~
Fixes:
- http://autobuild.buildroot.org/results/16f44fb9dea72a7079e8e5517e760dd79d2724cc
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
184e710c82
commit
f363bc2958
@ -0,0 +1,43 @@
|
||||
From b28f7bd9bba6f65258da48955154794f466b4104 Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
Date: Thu, 30 Dec 2021 15:23:59 +0200
|
||||
Subject: [PATCH] btrfs-progs: include linux/const.h to fix build with 5.12+
|
||||
headers
|
||||
|
||||
btrfs-tools compile fails with mips, musl and 5.12+ headers.
|
||||
|
||||
The definition of __ALIGN_KERNEL has moved in 5.12+ kernels, so we
|
||||
add an explicit include of const.h to pickup the macro:
|
||||
|
||||
| make: *** [Makefile:595: mkfs.btrfs] Error 1
|
||||
| make: *** Waiting for unfinished jobs....
|
||||
| libbtrfs.a(volumes.o): in function `dev_extent_search_start':
|
||||
| /usr/src/debug/btrfs-tools/5.12.1-r0/git/kernel-shared/volumes.c:464: undefined reference to `__ALIGN_KERNEL'
|
||||
| collect2: error: ld returned 1 exit status
|
||||
|
||||
This is safe for older kernel's as well, since the header still
|
||||
exists, and is valid to include.
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
[remove invalid OE Upstream-status]
|
||||
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
Signed-off-by: David Sterba <dsterba@suse.com>
|
||||
[Retrieved from:
|
||||
https://github.com/kdave/btrfs-progs/commit/b28f7bd9bba6f65258da48955154794f466b4104]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
kerncompat.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/kerncompat.h b/kerncompat.h
|
||||
index df167fe6c..2503d1afa 100644
|
||||
--- a/kerncompat.h
|
||||
+++ b/kerncompat.h
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <stddef.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
+#include <linux/const.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <features.h>
|
@ -0,0 +1,49 @@
|
||||
From a2511aaa85c8d95d12805dfdcbb5667fa3e30ba5 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sat, 8 Jan 2022 22:44:44 +0100
|
||||
Subject: [PATCH] btrfs-progs: include sys/sysinfo.h conditionally on musl
|
||||
|
||||
Make inclusion of sys/sysinfo.h conditional to avoid the following build
|
||||
failure on musl:
|
||||
|
||||
In file included from .../i586-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:4,
|
||||
from ./kerncompat.h:31,
|
||||
from common/utils.c:42:
|
||||
.../i586-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:7:8: error: redefinition of 'struct sysinfo'
|
||||
7 | struct sysinfo {
|
||||
| ^~~~~~~
|
||||
In file included from common/utils.c:27:
|
||||
.../i586-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
|
||||
10 | struct sysinfo {
|
||||
| ^~~~~~~
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/16f44fb9dea72a7079e8e5517e760dd79d2724cc
|
||||
|
||||
The 'struct sysinfo' is defined in linux/sysinfo.h and sys/sysinfo.h,
|
||||
while both must not be included at the same time. Stop including
|
||||
linux/kernel.h that sometimes unconditionally includes sys/sysinfo.h and
|
||||
causes the double definition for some reason. As we now include
|
||||
linux/const.h directly, there's no other effective change.
|
||||
|
||||
Pull-request: #433
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Signed-off-by: David Sterba <dsterba@suse.com>
|
||||
[Retrieved from:
|
||||
https://github.com/kdave/btrfs-progs/commit/a2511aaa85c8d95d12805dfdcbb5667fa3e30ba5]
|
||||
---
|
||||
kerncompat.h | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/kerncompat.h b/kerncompat.h
|
||||
index 2503d1afa..6ca1526e2 100644
|
||||
--- a/kerncompat.h
|
||||
+++ b/kerncompat.h
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <assert.h>
|
||||
#include <stddef.h>
|
||||
#include <linux/types.h>
|
||||
-#include <linux/kernel.h>
|
||||
#include <linux/const.h>
|
||||
#include <stdint.h>
|
||||
|
Loading…
Reference in New Issue
Block a user