* [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 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.