* [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation
@ 2022-07-20 15:24 Michael Zimmermann
2022-07-23 12:42 ` Arnout Vandecappelle
0 siblings, 1 reply; 7+ messages in thread
From: Michael Zimmermann @ 2022-07-20 15:24 UTC (permalink / raw)
To: buildroot; +Cc: Michael Zimmermann, José Luis Salvador Rufo
Currently, the kernel module gets built using the host-compiler(from the
user distro, not from buildroot). That might work when target and host
arch are the same but during cross compilation that results in the
message `Unable to build an empty module.` because tests for compiling
modules fail due to missing headers.
Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
---
package/zfs/zfs.mk | 3 +++
1 file changed, 3 insertions(+)
diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk
index 07ce3295ec..30f966bdeb 100644
--- a/package/zfs/zfs.mk
+++ b/package/zfs/zfs.mk
@@ -57,6 +57,9 @@ else
ZFS_CONF_OPTS += --disable-pam
endif
+ZFS_CONF_ENV += $(LINUX_MAKE_FLAGS)
+ZFS_MAKE_ENV += $(LINUX_MAKE_FLAGS)
+
# ZFS userland tools are unfunctional without the Linux kernel modules.
ZFS_MODULE_SUBDIRS = \
module/avl \
--
2.37.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation
2022-07-20 15:24 [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation Michael Zimmermann
@ 2022-07-23 12:42 ` Arnout Vandecappelle
2022-07-23 13:41 ` Arnout Vandecappelle
0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2022-07-23 12:42 UTC (permalink / raw)
To: Michael Zimmermann, buildroot; +Cc: José Luis Salvador Rufo
On 20/07/2022 17:24, Michael Zimmermann wrote:
> Currently, the kernel module gets built using the host-compiler(from the
> user distro, not from buildroot).
That shouldn't happen. The kernel-module infrastructure passes
LINUX_MAKE_FLAGS in the environment already. And if the module were built during
the userspace build stage, that one already has the cross-compiler as well
through the autotools infrastructure.
Can you give a bit more detail about the config where you get the issue, and
how exactly it fails?
Regards,
Arnout
> That might work when target and host
> arch are the same but during cross compilation that results in the
> message `Unable to build an empty module.` because tests for compiling
> modules fail due to missing headers.
>
> Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
> ---
> package/zfs/zfs.mk | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk
> index 07ce3295ec..30f966bdeb 100644
> --- a/package/zfs/zfs.mk
> +++ b/package/zfs/zfs.mk
> @@ -57,6 +57,9 @@ else
> ZFS_CONF_OPTS += --disable-pam
> endif
>
> +ZFS_CONF_ENV += $(LINUX_MAKE_FLAGS)
> +ZFS_MAKE_ENV += $(LINUX_MAKE_FLAGS)
> +
> # ZFS userland tools are unfunctional without the Linux kernel modules.
> ZFS_MODULE_SUBDIRS = \
> module/avl \
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation
2022-07-23 12:42 ` Arnout Vandecappelle
@ 2022-07-23 13:41 ` Arnout Vandecappelle
2022-07-24 14:35 ` Yann E. MORIN
0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2022-07-23 13:41 UTC (permalink / raw)
To: Michael Zimmermann, buildroot; +Cc: José Luis Salvador Rufo
On 23/07/2022 14:42, Arnout Vandecappelle wrote:
>
>
> On 20/07/2022 17:24, Michael Zimmermann wrote:
>> Currently, the kernel module gets built using the host-compiler(from the
>> user distro, not from buildroot).
>
> That shouldn't happen. The kernel-module infrastructure passes
> LINUX_MAKE_FLAGS in the environment already. And if the module were built
> during the userspace build stage, that one already has the cross-compiler as
> well through the autotools infrastructure.
>
> Can you give a bit more detail about the config where you get the issue, and
> how exactly it fails?
It's actually easy to reproduce, just change the architecture to anything
other than x86.
I've looked around a bit and it seems to me that zfs already builds the kernel
module from the autotools infrastructure, so we're actually building it twice. I
think we should therefore remove the kernel-module infra for this package, and
instead add a dependency on linux and copy this part:
# If the package is enabled, ensure the kernel will support modules
ifeq ($$(BR2_PACKAGE_$(2)),y)
LINUX_NEEDS_MODULES = y
endif
Regards,
Arnout
>
> Regards,
> Arnout
>
>> That might work when target and host
>> arch are the same but during cross compilation that results in the
>> message `Unable to build an empty module.` because tests for compiling
>> modules fail due to missing headers.
>>
>> Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
>> ---
>> package/zfs/zfs.mk | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk
>> index 07ce3295ec..30f966bdeb 100644
>> --- a/package/zfs/zfs.mk
>> +++ b/package/zfs/zfs.mk
>> @@ -57,6 +57,9 @@ else
>> ZFS_CONF_OPTS += --disable-pam
>> endif
>> +ZFS_CONF_ENV += $(LINUX_MAKE_FLAGS)
>> +ZFS_MAKE_ENV += $(LINUX_MAKE_FLAGS)
>> +
>> # ZFS userland tools are unfunctional without the Linux kernel modules.
>> ZFS_MODULE_SUBDIRS = \
>> module/avl \
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation
2022-07-23 13:41 ` Arnout Vandecappelle
@ 2022-07-24 14:35 ` Yann E. MORIN
2023-06-07 12:43 ` Alexander Mukhin
2023-06-08 17:50 ` [Buildroot] [PATCH] package/zfs: not using kernel-module infra José Luis Salvador Rufo
0 siblings, 2 replies; 7+ messages in thread
From: Yann E. MORIN @ 2022-07-24 14:35 UTC (permalink / raw)
To: Arnout Vandecappelle
Cc: Michael Zimmermann, José Luis Salvador Rufo, buildroot
Michael, All,
On 2022-07-23 15:41 +0200, Arnout Vandecappelle spake thusly:
> On 23/07/2022 14:42, Arnout Vandecappelle wrote:
> >On 20/07/2022 17:24, Michael Zimmermann wrote:
> >>Currently, the kernel module gets built using the host-compiler(from the
> >>user distro, not from buildroot).
> It's actually easy to reproduce, just change the architecture to anything
> other than x86.
>
> I've looked around a bit and it seems to me that zfs already builds the
> kernel module from the autotools infrastructure, so we're actually building
> it twice.
I checked, and it is not possible to tell the zfs buildsystem to not
build it.
> I think we should therefore remove the kernel-module infra for
> this package, and instead add a dependency on linux and copy this part:
>
> # If the package is enabled, ensure the kernel will support modules
> ifeq ($$(BR2_PACKAGE_$(2)),y)
> LINUX_NEEDS_MODULES = y
> endif
... and add linux to ZFS_DEPDENDENCIES
So, I've marked the patch as changes requested in patchwork.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation
2022-07-24 14:35 ` Yann E. MORIN
@ 2023-06-07 12:43 ` Alexander Mukhin
2023-06-08 17:50 ` [Buildroot] [PATCH] package/zfs: not using kernel-module infra José Luis Salvador Rufo
1 sibling, 0 replies; 7+ messages in thread
From: Alexander Mukhin @ 2023-06-07 12:43 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: José Luis Salvador Rufo, Michael Zimmermann, buildroot
Yann, All,
Noticed the same issue on x86-64 without cross-compiling. Here again the host
compiler was used instead of toolchain. The build failed because the host
compiler was older and did not support some fancy flags.
Host: Debian 11.7 x86_64
Host gcc: 10.2.1
Toolchain: x86-64--glibc--bleeding-edge-2022.08-1
Toolchain gcc: 12.2.0
The patch proposed by Michael Zimmermann fixed the issue.
--
Alexander.
On Sun, Jul 24, 2022 at 04:35:33PM +0200, Yann E. MORIN wrote:
> Michael, All,
>
> On 2022-07-23 15:41 +0200, Arnout Vandecappelle spake thusly:
> > On 23/07/2022 14:42, Arnout Vandecappelle wrote:
> > >On 20/07/2022 17:24, Michael Zimmermann wrote:
> > >>Currently, the kernel module gets built using the host-compiler(from the
> > >>user distro, not from buildroot).
> > It's actually easy to reproduce, just change the architecture to anything
> > other than x86.
> >
> > I've looked around a bit and it seems to me that zfs already builds the
> > kernel module from the autotools infrastructure, so we're actually building
> > it twice.
>
> I checked, and it is not possible to tell the zfs buildsystem to not
> build it.
>
> > I think we should therefore remove the kernel-module infra for
> > this package, and instead add a dependency on linux and copy this part:
> >
> > # If the package is enabled, ensure the kernel will support modules
> > ifeq ($$(BR2_PACKAGE_$(2)),y)
> > LINUX_NEEDS_MODULES = y
> > endif
>
> ... and add linux to ZFS_DEPDENDENCIES
>
> So, I've marked the patch as changes requested in patchwork.
>
> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH] package/zfs: not using kernel-module infra
2022-07-24 14:35 ` Yann E. MORIN
2023-06-07 12:43 ` Alexander Mukhin
@ 2023-06-08 17:50 ` José Luis Salvador Rufo
2023-07-27 7:13 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 7+ messages in thread
From: José Luis Salvador Rufo @ 2023-06-08 17:50 UTC (permalink / raw)
To: buildroot
Cc: Michael Zimmermann, José Luis Salvador Rufo, Yann E . MORIN
zfs already builds the kernel module from the autotools infrastructure.
Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
---
package/zfs/Config.in | 1 +
package/zfs/zfs.mk | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/package/zfs/Config.in b/package/zfs/Config.in
index 6209c5865b..3bd9f8ab02 100644
--- a/package/zfs/Config.in
+++ b/package/zfs/Config.in
@@ -11,6 +11,7 @@ config BR2_PACKAGE_ZFS
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_USE_MMU # util-linux (libblkid)
depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc
+ select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk
index e99413e611..50c1866045 100644
--- a/package/zfs/zfs.mk
+++ b/package/zfs/zfs.mk
@@ -15,7 +15,7 @@ ZFS_CPE_ID_PRODUCT = openzfs
# 0001-removal-of-LegacyVersion-broke-ax_python_dev.m4.patch
ZFS_AUTORECONF = YES
-ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl
+ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl linux
# sysvinit installs only a commented-out modules-load.d/ config file
ZFS_CONF_OPTS = \
@@ -87,5 +87,6 @@ define ZFS_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_ZLIB_INFLATE)
endef
-$(eval $(kernel-module))
+# ZFS autotools will compile the kernel modules, so there is not needed to execute
+# $(eval $(kernel-module))
$(eval $(autotools-package))
--
2.41.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH] package/zfs: not using kernel-module infra
2023-06-08 17:50 ` [Buildroot] [PATCH] package/zfs: not using kernel-module infra José Luis Salvador Rufo
@ 2023-07-27 7:13 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-07-27 7:13 UTC (permalink / raw)
To: José Luis Salvador Rufo
Cc: Michael Zimmermann, Yann E . MORIN, buildroot
On Thu, 8 Jun 2023 19:50:16 +0200
José Luis Salvador Rufo <salvador.joseluis@gmail.com> wrote:
> zfs already builds the kernel module from the autotools infrastructure.
>
> Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
> ---
> package/zfs/Config.in | 1 +
> package/zfs/zfs.mk | 5 +++--
> 2 files changed, 4 insertions(+), 2 deletions(-)
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] 7+ messages in thread
end of thread, other threads:[~2023-07-27 7:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-20 15:24 [Buildroot] [PATCH 1/1] package/zfs: fix cross-compilation Michael Zimmermann
2022-07-23 12:42 ` Arnout Vandecappelle
2022-07-23 13:41 ` Arnout Vandecappelle
2022-07-24 14:35 ` Yann E. MORIN
2023-06-07 12:43 ` Alexander Mukhin
2023-06-08 17:50 ` [Buildroot] [PATCH] package/zfs: not using kernel-module infra José Luis Salvador Rufo
2023-07-27 7:13 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox