-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'configure' fails on ZFS 0.8.3 with kernel builtin option #9887
Comments
The 0.8.3 tag did include changes to significantly speed up the Are you able to consistently reproduce this when starting with a clean source tree? Would it be possible for you to run a test build with the master source to see if you have the same issue there? |
I'm reproducing with a vanilla, non-patched 4.14.169 kernel and a vanilla, non-patched zfs 0.8.3 tarball. On my end, the issue seems to be related to |
Looking into @morian's initial diagnosis: Interestingly, there is code in kernel.m4 to artificially generate a corresponding |
Replacing |
Sorry for the response delay! |
@morian thanks for the detailed instructions. I was able to reproduce the error on a Fedora 31 VM with both the diff --git a/config/kernel.m4 b/config/kernel.m4
index ec8f6a5c1..401389e8a 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -461,15 +461,13 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_MODULE], [
ZFS_LINUX_TRY_COMPILE([], [], [
AC_MSG_RESULT([yes])
],[
- AC_MSG_RESULT([no])
if test "x$enable_linux_builtin" != xyes; then
+ AC_MSG_RESULT([no])
AC_MSG_ERROR([
*** Unable to build an empty module.
])
else
- AC_MSG_ERROR([
- *** Unable to build an empty module.
- *** Please run 'make scripts' inside the kernel source tree.])
+ AC_MSG_RESULT([unneeded, using --enable-linux-builtin])
fi
])
])
I'm going to put together a PR. |
This allows --enable-linux-builtin to work when CONFIG_MODULES is not set in the kernel. Fixes: openzfs#9887 Signed-off-by: Tony Hutter <[email protected]>
Proposed fix: #9940 |
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Signed-off-by: Brian Behlendorf <[email protected]> Issue openzfs#9887
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#9887 Closes openzfs#10063
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#9887 Closes openzfs#10063
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #9887 Closes #10063
When configuring as builtin (--enable-linux-builtin) for kernels without loadable module support (CONFIG_MODULES=n) only the object file is created. Never a loadable kmod. Update ZFS_LINUX_TRY_COMPILE to handle this in a manor similar to the ZFS_LINUX_TEST_COMPILE_ALL macro. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes openzfs#9887 Closes openzfs#10063
System information
Describe the problem you're observing
Configure step ends with the following error:
Describe how to reproduce the problem
It used to work very well on ZFS 0.8.2 with the following steps:
bash autogen.sh ./configure --with-linux="${LINUX_DIR}" --enable-linux-builtin
I have used a custom script for years now to create my own monolithic Linux kernel with builtin ZFS support, but found out that it is now broken.
Include any warning/errors/backtraces from the system logs
This is the interesting part of config.log:
Here is the content of build.log:
Identified cause of the issue (maybe?):
On 0.8.3, in
config/kernel.m4
:ZFS_AC_KERNEL_TEST_MODULE
usesZFS_LINUX_TRY_COMPILE
ZFS_LINUX_TRY_COMPILE
usesZFS_LINUX_TEST_PROGRAM
which is not a valid kernel module.ZFS_LINUX_TRY_COMPILE
checks for generatedconftest.ko
file (only .o file exists)On 0.8.2:
ZFS_AC_TEST_MODULE
usesZFS_LINUX_TRY_COMPILE
as wellZFS_LINUX_TRY_COMPILE
usesAC_LANG_SOURCE([ZFS_LANG_PROGRAM([[$1]], [[$2]])])
which is not a valid kernel module.ZFS_LINUX_TRY_COMPILE
checks for generatedbuild/conftest.o
file (and it works...)The text was updated successfully, but these errors were encountered: