Zfs: Build Error2 for DKMS SPL module on linux 5.1.0-RC7

Created on 1 May 2019  Â·  5Comments  Â·  Source: openzfs/zfs

System information


Type | Version/Name
--- | ---
Distribution Name | Arch
Distribution Version | 1-4-2019 + recent patches
Linux Kernel | 5.1.0-RC7
Architecture | X86-64
ZFS Version | 0.7.13
SPL Version | 0.7.13

Describe the problem you're observing

Trying to build DKMS SPL module for kernel 5.1.0-RC7 produces exit status 2.

build output:

Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.1.0-rc7 -C module/......(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.1.0-rc7 (x86_64)
Consult /var/lib/dkms/spl/0.7.13/build/make.log for more information.

Describe how to reproduce the problem

Building DKMS module for inactive 5.1 kernel while running 5.0.9:
# dkms install spl/0.7.13 -k 5.1.0-rc7

Include any warning/errors/backtraces from the system logs

doing cat /var/lib/dkms/spl/0.7.13/build/make.log
returns this:

DKMS make.log for spl-0.7.13 for kernel 5.1.0-rc7 (x86_64)
Wed 01 May 2019 08:35:20 AM UTC
make: Entering directory '/var/lib/dkms/spl/0.7.13/build/module'
make -C /usr/lib/modules/5.1.0-rc7/build M=`pwd`  CONFIG_SPL=m modules
make[1]: Entering directory '/seagate/linux/src'
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-ctl.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-proc.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-kmem.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-kmem.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-taskq.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-kmem-cache.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-vmem.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-random.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-mutex.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-thread.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-condvar.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-thread.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-rwlock.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-time.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-taskq.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-vnode.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-kobj.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-atomic.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-list.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-generic.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-cred.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-rwlock.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-zlib.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat-linux.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-err.o
  CC [M]  /var/lib/dkms/spl/0.7.13/build/module/spl/spl-kobj.o
/var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.c: In function ‘vn_set_pwd’:
/var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.c:611:9: error: implicit declaration of function ‘get_ds’; did you mean ‘get_fs’? [-Werror=implicit-function-declaration]
  set_fs(get_ds());
         ^~~~~~
         get_fs
/var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.c:611:9: error: incompatible type for argument 1 of ‘set_fs’
  set_fs(get_ds());
         ^~~~~~~~
In file included from ./include/linux/uaccess.h:11,
                 from ./include/linux/poll.h:12,
                 from ./include/linux/ring_buffer.h:7,
                 from ./include/linux/trace_events.h:6,
                 from ./include/trace/syscall.h:7,
                 from ./include/linux/syscalls.h:86,
                 from /var/lib/dkms/spl/0.7.13/build/include/sys/vnode.h:29,
                 from /var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.c:28:
./arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct <anonymous>’} but argument is of type ‘int’
 static inline void set_fs(mm_segment_t fs)
                           ~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:276: /var/lib/dkms/spl/0.7.13/build/module/spl/spl-vnode.o] Error 1
make[3]: *** Waiting for unfinished jobs....
  LD [M]  /var/lib/dkms/spl/0.7.13/build/module/splat/splat.o
make[2]: *** [scripts/Makefile.build:486: /var/lib/dkms/spl/0.7.13/build/module/spl] Error 2
make[1]: *** [Makefile:1571: _module_/var/lib/dkms/spl/0.7.13/build/module] Error 2
make[1]: Leaving directory '/seagate/linux/src'
make: *** [Makefile:11: modules] Error 2
make: Leaving directory '/var/lib/dkms/spl/0.7.13/build/module'
Building

Most helpful comment

You can safely cherry-pick the fix for this from the master branch. I've added it to the list of changes to apply for 0.7.14.

All 5 comments

0.7.13 is not compatible w kernel 5.1. As mentioned in #8633 comment it should work ok with 5.0 but officially does not support final 5.0 release either - supported kernels.

Well to quick fix the build do something like this :

 sed -i -e  's|get_ds()|KERNEL_DS|g' module/spl/spl-vnode.c

Whatever it works right , I don't know

You can safely cherry-pick the fix for this from the master branch. I've added it to the list of changes to apply for 0.7.14.

This issue has been automatically marked as "stale" because it has not had any activity for a while. It will be closed in 90 days if no further activity occurs. Thank you for your contributions.

Can be closed now :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ltz3317 picture ltz3317  Â·  82Comments

zrav picture zrav  Â·  59Comments

torn5 picture torn5  Â·  57Comments

bwatkinson picture bwatkinson  Â·  50Comments

wrouesnel picture wrouesnel  Â·  57Comments