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 <hutter2@llnl.gov>
|
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 <behlendorf1@llnl.gov> 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 <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> 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 <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> 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 <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> 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 <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> 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-builtinI 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_MODULEusesZFS_LINUX_TRY_COMPILEZFS_LINUX_TRY_COMPILEusesZFS_LINUX_TEST_PROGRAMwhich is not a valid kernel module.ZFS_LINUX_TRY_COMPILEchecks for generatedconftest.kofile (only .o file exists)On 0.8.2:
ZFS_AC_TEST_MODULEusesZFS_LINUX_TRY_COMPILEas wellZFS_LINUX_TRY_COMPILEusesAC_LANG_SOURCE([ZFS_LANG_PROGRAM([[$1]], [[$2]])])which is not a valid kernel module.ZFS_LINUX_TRY_COMPILEchecks for generatedbuild/conftest.ofile (and it works...)The text was updated successfully, but these errors were encountered: