All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/btrfs-progs: fix musl build
@ 2022-01-10 22:52 Fabrice Fontaine
  2022-01-11 20:32 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2022-01-10 22:52 UTC (permalink / raw)
  To: buildroot; +Cc: Fabrice Fontaine

Fix the following musl build failure raised since bump to version 5.15.1
in commit 20181c3f1b7191d2b6a1b78bfbe32c1f58e87359:

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>
---
 ...nst-h-to-fix-build-with-5-12-headers.patch | 43 ++++++++++++++++
 ...-sys-sysinfo-h-conditionally-on-musl.patch | 49 +++++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch
 create mode 100644 package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch

diff --git a/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch b/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch
new file mode 100644
index 0000000000..b6c1a42456
--- /dev/null
+++ b/package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch
@@ -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>
diff --git a/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch b/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch
new file mode 100644
index 0000000000..7473fe67cb
--- /dev/null
+++ b/package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch
@@ -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>
+ 
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/btrfs-progs: fix musl build
  2022-01-10 22:52 [Buildroot] [PATCH 1/1] package/btrfs-progs: fix musl build Fabrice Fontaine
@ 2022-01-11 20:32 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2022-01-11 20:32 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: buildroot

On Mon, 10 Jan 2022 23:52:00 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Fix the following musl build failure raised since bump to version 5.15.1
> in commit 20181c3f1b7191d2b6a1b78bfbe32c1f58e87359:
> 
> 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>
> ---
>  ...nst-h-to-fix-build-with-5-12-headers.patch | 43 ++++++++++++++++
>  ...-sys-sysinfo-h-conditionally-on-musl.patch | 49 +++++++++++++++++++
>  2 files changed, 92 insertions(+)
>  create mode 100644 package/btrfs-progs/0001-btrfs-progs-include-linux-const-h-to-fix-build-with-5-12-headers.patch
>  create mode 100644 package/btrfs-progs/0002-btrfs-progs-include-sys-sysinfo-h-conditionally-on-musl.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-11 20:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 22:52 [Buildroot] [PATCH 1/1] package/btrfs-progs: fix musl build Fabrice Fontaine
2022-01-11 20:32 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.