Skip to content
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

Centos 7, zfs 0.7.6 build dkms failes with kernel-ml 4.15.2-1.el7.elrepo #7159

Closed
rmeichsner opened this issue Feb 12, 2018 · 4 comments
Closed
Labels
Type: Building Indicates an issue related to building binaries

Comments

@rmeichsner
Copy link

System information

Type CentOS Linux release 7.4.1708 (Core)
Distribution Name CentOS
Distribution Version 7.4.1708
Linux Kernel kernel-ml 4.15.2-1
Architecture x64
ZFS Version 0.7.6-1.el7_3
SPL Version 0.7.6-1.el7_3

Describe the problem you're observing

DKMS SPL Module failes to build

Describe how to reproduce the problem

dkms build -m spl -v 0.7.6 spl failes with error

Include any warning/errors/backtraces from the system logs

Error:

checking whether basic kmem accounting is enabled... no
checking whether detailed kmem tracking is enabled... no
checking whether modules can be built... no
configure: error: *** Unable to build an empty module.

Building module:
cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=4.15.2-1.el7.elrepo.x86_64...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.15.2-1.el7.elrepo.x86_64 (x86_64)
Consult /var/lib/dkms/spl/0.7.6/build/make.log for more information.

Build Log /var/lib/dkms/spl/0.7.6/build/config.log shows the following error message:

configure:12610: checking whether modules can be built
configure:12633: cp conftest.c build && make modules -C /lib/modules/4.15.2-1.el7.elrepo.x86_64/b
uild EXTRA_CFLAGS=-Werror-implicit-function-declaration   M=/var/lib/dkms/spl/0.7.6/build/build
make[1]: *** No rule to make target `tools/objtool/objtool', needed by `/var/lib/dkms/spl/0.7.6/b
uild/build/conftest.o'.  Stop.
make: *** [_module_/var/lib/dkms/spl/0.7.6/build/build] Error 2
configure:12636: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "spl"
| #define PACKAGE_TARNAME "spl"
| #define PACKAGE_VERSION "0.7.6"
| #define PACKAGE_STRING "spl 0.7.6"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define SPL_META_NAME "spl"
| #define SPL_META_VERSION "0.7.6"
| #define SPL_META_RELEASE "1"
| #define SPL_META_LICENSE "GPL"
| #define SPL_META_ALIAS "spl-0.7.6-1"
| #define SPL_META_AUTHOR "OpenZFS on Linux"
| #define PACKAGE "spl"
| #define VERSION "0.7.6"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
|
|
| int
| main (void)
| {
|
|   ;
|   return 0;
| }
|
configure:12651: result: no
configure:12654: error: *** Unable to build an empty module.
@behlendorf behlendorf added the Type: Building Indicates an issue related to building binaries label Feb 12, 2018
@rmeichsner
Copy link
Author

Hi all,

after upgradeding the Kernel to 4.15.3-1.el7.elrepo.x86_64 the compilation succeeded without any errors:

dkms status
spl, 0.7.6, 4.15.3-1.el7.elrepo.x86_64, x86_64: installed
zfs, 0.7.6, 4.15.3-1.el7.elrepo.x86_64, x86_64: installed

@ptrj
Copy link

ptrj commented Mar 18, 2018

Sorry, i have the same issue.

CentOS Linux release 7.4.1708 (Core)
Kernel ML 4.15.10-1.el7.centos.x86_64

SPL build logs

Update: and same problem on kernel-lt 4.14.27-1.el7.centos.x86_64

@niusmallnan
Copy link

Same issue.

Kernel: 4.15.9

checking spl config... all
checking kernel source directory... /lib/modules/4.15.9-rancher/build
checking kernel build directory... /lib/modules/4.15.9-rancher/build
checking kernel source version... 4.15.9-rancher
checking kernel file name for module symbols... Module.symvers
checking whether debugging is enabled... no
checking whether basic kmem accounting is enabled... no
checking whether detailed kmem tracking is enabled... no
checking whether modules can be built... no
configure: error: *** Unable to build an empty module.

@behlendorf
Copy link
Contributor

behlendorf commented Mar 22, 2018

The build failure appears to have been introduced by a regression in the kernel packaging which breaks all out-of-tree-module builds. The objtool binary is no longer being included and it is required for external module builds when the kernel is compiled with CONFIG_STACK_VALIDATION. Here's the upstream issue:

https://bugzilla.redhat.com/show_bug.cgi?id=1550152

The fix is on the way for Fedora kernels:

https://src.fedoraproject.org/rpms/kernel/c/0ff2afdbe0501525ee2d5b53fdc20a320b29bc8c?branch=master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Building Indicates an issue related to building binaries
Projects
None yet
Development

No branches or pull requests

4 participants