* [PATCH] btrfs-tools: include linux/const.h to fix build with 5.12+ headers
@ 2021-06-18 19:43 Bruce Ashfield
2021-06-18 22:23 ` [OE-core] " Khem Raj
0 siblings, 1 reply; 3+ messages in thread
From: Bruce Ashfield @ 2021-06-18 19:43 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
From: Bruce Ashfield <bruce.ashfield@gmail.com>
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 kernels as well, since the header still
exists, and is valid to include.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
I've started a discussion if this is required upstream, but didn't
want to wait on sending this.
I'm working on the update to libc-headers 5.13+ and ran into this
build error .. only on musl and mips64. Which is why there is
hesitation on if this is needed upstream.
Cheers,
Bruce
...ude-linux-const.h-to-fix-build-with-.patch | 42 +++++++++++++++++++
.../btrfs-tools/btrfs-tools_5.12.1.bb | 1 +
2 files changed, 43 insertions(+)
create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
new file mode 100644
index 0000000000..d7188881da
--- /dev/null
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
@@ -0,0 +1,42 @@
+From 3d19b0fb882c5e195362a9f0909c474e60070ca0 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@gmail.com>
+Date: Fri, 18 Jun 2021 11:10:36 -0400
+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.
+
+Upstream-status: OE Specific [mips64 + musl + libc-headers]
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ kerncompat.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/kerncompat.h b/kerncompat.h
+index df167fe6..254235bd 100644
+--- a/kerncompat.h
++++ b/kerncompat.h
+@@ -30,6 +30,7 @@
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+ #include <stdint.h>
++#include <linux/const.h>
+
+ #include <features.h>
+
+--
+2.25.1
+
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
index 3fc959bf8e..d0c9cf2a99 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
@@ -18,6 +18,7 @@ DEPENDS_append_class-target = " udev"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
+ file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \
"
SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2"
S = "${WORKDIR}/git"
--
2.19.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] btrfs-tools: include linux/const.h to fix build with 5.12+ headers
2021-06-18 19:43 [PATCH] btrfs-tools: include linux/const.h to fix build with 5.12+ headers Bruce Ashfield
@ 2021-06-18 22:23 ` Khem Raj
2021-06-19 2:25 ` Bruce Ashfield
0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2021-06-18 22:23 UTC (permalink / raw)
To: Bruce Ashfield
Cc: Richard Purdie, Patches and discussions about the oe-core layer
On Fri, Jun 18, 2021 at 12:44 PM Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
> From: Bruce Ashfield <bruce.ashfield@gmail.com>
>
> 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 kernels as well, since the header still
> exists, and is valid to include.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> ---
>
> I've started a discussion if this is required upstream, but didn't
> want to wait on sending this.
>
> I'm working on the update to libc-headers 5.13+ and ran into this
> build error .. only on musl and mips64. Which is why there is
> hesitation on if this is needed upstream.
>
> Cheers,
>
> Bruce
>
>
> ...ude-linux-const.h-to-fix-build-with-.patch | 42 +++++++++++++++++++
> .../btrfs-tools/btrfs-tools_5.12.1.bb | 1 +
> 2 files changed, 43 insertions(+)
> create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
>
> diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
> new file mode 100644
> index 0000000000..d7188881da
> --- /dev/null
> +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
> @@ -0,0 +1,42 @@
> +From 3d19b0fb882c5e195362a9f0909c474e60070ca0 Mon Sep 17 00:00:00 2001
> +From: Bruce Ashfield <bruce.ashfield@gmail.com>
> +Date: Fri, 18 Jun 2021 11:10:36 -0400
> +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.
> +
> +Upstream-status: OE Specific [mips64 + musl + libc-headers]
I think it's not specific to musl or mips64 or OE, it should be worth
upstreaming to btrfs-tools.
> +
> +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> +---
> + kerncompat.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/kerncompat.h b/kerncompat.h
> +index df167fe6..254235bd 100644
> +--- a/kerncompat.h
> ++++ b/kerncompat.h
> +@@ -30,6 +30,7 @@
> + #include <linux/types.h>
> + #include <linux/kernel.h>
> + #include <stdint.h>
> ++#include <linux/const.h>
> +
> + #include <features.h>
> +
> +--
> +2.25.1
> +
> diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> index 3fc959bf8e..d0c9cf2a99 100644
> --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> @@ -18,6 +18,7 @@ DEPENDS_append_class-target = " udev"
>
> SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
> file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
> + file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \
> "
> SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2"
> S = "${WORKDIR}/git"
> --
> 2.19.1
>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] btrfs-tools: include linux/const.h to fix build with 5.12+ headers
2021-06-18 22:23 ` [OE-core] " Khem Raj
@ 2021-06-19 2:25 ` Bruce Ashfield
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Ashfield @ 2021-06-19 2:25 UTC (permalink / raw)
To: Khem Raj; +Cc: Richard Purdie, Patches and discussions about the oe-core layer
On Fri, Jun 18, 2021 at 6:24 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Fri, Jun 18, 2021 at 12:44 PM Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
> >
> > From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >
> > 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 kernels as well, since the header still
> > exists, and is valid to include.
> >
> > Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > ---
> >
> > I've started a discussion if this is required upstream, but didn't
> > want to wait on sending this.
> >
> > I'm working on the update to libc-headers 5.13+ and ran into this
> > build error .. only on musl and mips64. Which is why there is
> > hesitation on if this is needed upstream.
> >
> > Cheers,
> >
> > Bruce
> >
> >
> > ...ude-linux-const.h-to-fix-build-with-.patch | 42 +++++++++++++++++++
> > .../btrfs-tools/btrfs-tools_5.12.1.bb | 1 +
> > 2 files changed, 43 insertions(+)
> > create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
> >
> > diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
> > new file mode 100644
> > index 0000000000..d7188881da
> > --- /dev/null
> > +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch
> > @@ -0,0 +1,42 @@
> > +From 3d19b0fb882c5e195362a9f0909c474e60070ca0 Mon Sep 17 00:00:00 2001
> > +From: Bruce Ashfield <bruce.ashfield@gmail.com>
> > +Date: Fri, 18 Jun 2021 11:10:36 -0400
> > +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.
> > +
> > +Upstream-status: OE Specific [mips64 + musl + libc-headers]
>
> I think it's not specific to musl or mips64 or OE, it should be worth
> upstreaming to btrfs-tools.
The build error says otherwise. It quite literally only breaks on
musl and mips64 with the updated libc-headers, but I didn't dig into
how or why the other arches and glibc aren't hitting the error, so who
knows :D
But yes, as I mentioned, I will send it upstream after a bit more soaking.
Bruce
>
> > +
> > +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > +---
> > + kerncompat.h | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/kerncompat.h b/kerncompat.h
> > +index df167fe6..254235bd 100644
> > +--- a/kerncompat.h
> > ++++ b/kerncompat.h
> > +@@ -30,6 +30,7 @@
> > + #include <linux/types.h>
> > + #include <linux/kernel.h>
> > + #include <stdint.h>
> > ++#include <linux/const.h>
> > +
> > + #include <features.h>
> > +
> > +--
> > +2.25.1
> > +
> > diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> > index 3fc959bf8e..d0c9cf2a99 100644
> > --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> > +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb
> > @@ -18,6 +18,7 @@ DEPENDS_append_class-target = " udev"
> >
> > SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
> > file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
> > + file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \
> > "
> > SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2"
> > S = "${WORKDIR}/git"
> > --
> > 2.19.1
> >
> >
> >
> >
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-19 2:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18 19:43 [PATCH] btrfs-tools: include linux/const.h to fix build with 5.12+ headers Bruce Ashfield
2021-06-18 22:23 ` [OE-core] " Khem Raj
2021-06-19 2:25 ` Bruce Ashfield
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.