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