[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kernel 4.9 Backport ZFS



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> build@dop58:~/build$ aptitude show linux-source-4.9
> Package: linux-source-4.9                
> New: yes
> State: installed
> Automatically installed: no
> Multi-Arch: foreign
> Version: 4.9.18-1~bpo8+1
> Priority: optional
> Section: kernel
> Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
> Architecture: all
> Uncompressed Size: 96.3 M
> Depends: binutils, xz-utils
> Recommends: libc6-dev | libc-dev, gcc, make, bc
> Suggests: libncurses-dev | ncurses-dev, libqt4-dev, pkg-config
> Description: Linux kernel source for version 4.9 with Debian patches
>  This package provides source code for the Linux kernel version 4.9. This source
> closely tracks official Linux kernel releases.  Debian's modifications to that source
> consist of security fixes, bug fixes, and features that have already been (or are
> believed to be) accepted by the upstream maintainers. Homepage: https://www.kernel.org/
> 

This version of linux-source appeared on 2017-04-10, but t s still not workable with ZFS
for me:

> build@dop58:~/build$ dpkg -i linux*4.9.18-asrv*.deb
> dpkg: error: requested operation requires superuser privilege
> build@dop58:~/build$ sudo dpkg -i linux*4.9.18-asrv*.deb
> Selecting previously unselected package linux-headers-4.9.18-asrv-bpo.
> (Reading database ... 208722 files and directories currently installed.)
> Preparing to unpack linux-headers-4.9.18-asrv-bpo_4.9.18-asrv-bpo-1_amd64.deb ...
> Unpacking linux-headers-4.9.18-asrv-bpo (4.9.18-asrv-bpo-1) ...
> Selecting previously unselected package linux-image-4.9.18-asrv-bpo.
> Preparing to unpack linux-image-4.9.18-asrv-bpo_4.9.18-asrv-bpo-1_amd64.deb ...
> Unpacking linux-image-4.9.18-asrv-bpo (4.9.18-asrv-bpo-1) ...
> Preparing to unpack linux-libc-dev_4.9.18-asrv-bpo-1_amd64.deb ...
> Unpacking linux-libc-dev (4.9.18-asrv-bpo-1) over (4.9.18-1~bpo8+1) ...
> Setting up linux-headers-4.9.18-asrv-bpo (4.9.18-asrv-bpo-1) ...
> Setting up linux-image-4.9.18-asrv-bpo (4.9.18-asrv-bpo-1) ...
> Error! Bad return status for module build on kernel: 4.9.18-asrv-bpo (x86_64)
> Consult /var/lib/dkms/spl/0.6.5.8/build/make.log for more information.
> configure: error: 
>         *** Please make sure the kmod spl devel <kernel> package for your
>         *** distribution is installed then try again.  If that fails you
>         *** can specify the location of the spl objects with the
>         *** '--with-spl-obj=PATH' option.
> Error! Bad return status for module build on kernel: 4.9.18-asrv-bpo (x86_64)
> Consult /var/lib/dkms/zfs/0.6.5.8/build/make.log for more information.
> update-initramfs: Generating /boot/initrd.img-4.9.18-asrv-bpo
> Generating grub configuration file ...
> Found background image: /usr/share/images/desktop-base/desktop-grub.png
> Found linux image: /boot/vmlinuz-4.9.18-asrv-bpo
> Found initrd image: /boot/initrd.img-4.9.18-asrv-bpo
> Found linux image: /boot/vmlinuz-4.8.15-asrv-bpo
> Found initrd image: /boot/initrd.img-4.8.15-asrv-bpo
> Found linux image: /boot/vmlinuz-3.16.0-4-amd64
> Found initrd image: /boot/initrd.img-3.16.0-4-amd64
>   No volume groups found
> done
> Setting up linux-libc-dev (4.9.18-asrv-bpo-1) ...

I think the error-message refers to zfs-dkms package:

> build@dop58:~/build$ aptitude show spl-dkms
> Package: spl-dkms                        
> New: yes
> State: installed
> Automatically installed: yes
> Version: 0.6.5.8-2~bpo8+2
> Priority: optional
> Section: kernel
> Maintainer: Debian ZFS on Linux maintainers
> <pkg-zfsonlinux-devel@lists.alioth.debian.org> Architecture: all
> Uncompressed Size: 2,874 k
> Depends: dkms (> 2.1.1.2-5), file, libc-dev, lsb-release
> Recommends: spl (>= 0.6.5.8)
> Provides: spl-modules
> Description: Solaris Porting Layer kernel modules for Linux
>  The Solaris Porting Layer (SPL) is a Linux kernel module which provides many of the
> Solaris kernel APIs. This shim layer makes it possible to run Solaris kernel code in
> the Linux kernel with relatively minimal modification. The Solaris Porting LAyer Tests
> (SPLAT) is a Linux kernel module which provides a testing harness for the SPL module. 
>  
>  SPL can be particularly useful when you want to track upstream Illumos (or any other
> OpenSolaris fork) development closely and don't want the overhead of maintaining a
> large patch which converts Solaris primitives to Linux primitives. 
>  
>  This package contains the source code for the SPL and SPLAT Linux kernel modules,
> which can be used with DKMS, so that local kernel modules are automatically built and
> installed every time the kernel packages are upgraded.
> Homepage: http://www.zfsonlinux.org/

I learned already, it does not really make much sense to use ZFS on the Linux-kernel
build-server, since it is licensed differently and regularly fails to integrate properly
with Debian.
But I am still using it on my desktop-PC, which has USB3-flash-storage instead of
harddisk or SSD, and I really want to stick to ZFS there, because it performs quite well.
But to be honest, I have no idea, what the spl-obj-Path would be, or whether there is
another bug. Still using kernel 4.8.




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAljzW94ACgkQ5+rBHyUt5wslYwCfQ3P8JG9PDXn3LYJqCAM6S8to
09IAoIMO3mugNf8Zpn3gg8MCbR1Hx8s+
=JcYh
-----END PGP SIGNATURE-----

Attachment: config-4.9.18-asrv-bpo.xz
Description: application/xz

DKMS make.log for spl-0.6.5.8 for kernel 4.9.18-asrv-bpo (x86_64)
Sun 16 Apr 12:10:10 CEST 2017
make  all-recursive
make[1]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build'
Making all in include
make[2]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include'
Making all in fs
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/fs'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/fs'
Making all in linux
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/linux'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/linux'
Making all in rpc
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/rpc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/rpc'
Making all in sharefs
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sharefs'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sharefs'
Making all in sys
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys'
Making all in fm
make[4]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/fm'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/fm'
Making all in fs
make[4]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/fs'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/fs'
Making all in sysevent
make[4]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/sysevent'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys/sysevent'
make[4]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys'
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/sys'
Making all in util
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/util'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/util'
Making all in vm
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include/vm'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include/vm'
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include'
make[2]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/include'
Making all in rpm
make[2]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/rpm'
Making all in generic
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/rpm/generic'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/rpm/generic'
Making all in redhat
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/rpm/redhat'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/rpm/redhat'
make[3]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/rpm'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/rpm'
make[2]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/rpm'
Making all in module
make[2]: Entering directory '/var/lib/dkms/spl/0.6.5.8/build/module'
make -C /lib/modules/4.9.18-asrv-bpo/build SUBDIRS=`pwd`  CONFIG_SPL=m modules
make[3]: Entering directory '/usr/src/linux-headers-4.9.18-asrv-bpo'
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-proc.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-kmem.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-kmem-cache.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-vmem.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-thread.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-taskq.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-rwlock.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-vnode.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-err.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-kobj.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-generic.o
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-generic.c:56:1: warning: missing braces around initializer [-Wmissing-braces]
 proc_t p0 = { 0 };
 ^
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-generic.c:56:1: warning: (near initialization for â??p0.thread_infoâ??) [-Wmissing-braces]
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-atomic.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-mutex.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-kstat.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-condvar.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-xdr.o
  CC [M]  /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.o
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c: In function â??cr_groups_searchâ??:
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:53:7: error: implicit declaration of function â??GROUP_ATâ?? [-Werror=implicit-function-declaration]
       KGID_TO_SGID(GROUP_AT(group_info, mid));
       ^
In file included from /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:27:0:
/var/lib/dkms/spl/0.6.5.8/build/include/sys/cred.h:52:27: error: incompatible type for argument 1 of â??__kgid_valâ??
 #define KGID_TO_SGID(x)  (__kgid_val(x))
                           ^
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:53:7: note: in expansion of macro â??KGID_TO_SGIDâ??
       KGID_TO_SGID(GROUP_AT(group_info, mid));
       ^
In file included from ./include/linux/stat.h:19:0,
                 from ./include/linux/module.h:10,
                 from /var/lib/dkms/spl/0.6.5.8/build/include/sys/cred.h:28,
                 from /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:27:
./include/linux/uidgid.h:38:21: note: expected â??kgid_tâ?? but argument is of type â??intâ??
 static inline gid_t __kgid_val(kgid_t gid)
                     ^
In file included from /var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:27:0:
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c: In function â??crgetgroupsâ??:
/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.c:107:26: error: â??struct group_infoâ?? has no member named â??blocksâ??
  gids = KGIDP_TO_SGIDP(gi->blocks[0]);
                          ^
/var/lib/dkms/spl/0.6.5.8/build/include/sys/cred.h:55:30: note: in definition of macro â??KGIDP_TO_SGIDPâ??
 #define KGIDP_TO_SGIDP(x) (&(x)->val)
                              ^
cc1: some warnings being treated as errors
scripts/Makefile.build:298: recipe for target '/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.o' failed
make[5]: *** [/var/lib/dkms/spl/0.6.5.8/build/module/spl/spl-cred.o] Error 1
scripts/Makefile.build:549: recipe for target '/var/lib/dkms/spl/0.6.5.8/build/module/spl' failed
make[4]: *** [/var/lib/dkms/spl/0.6.5.8/build/module/spl] Error 2
Makefile:1507: recipe for target '_module_/var/lib/dkms/spl/0.6.5.8/build/module' failed
make[3]: *** [_module_/var/lib/dkms/spl/0.6.5.8/build/module] Error 2
make[3]: Leaving directory '/usr/src/linux-headers-4.9.18-asrv-bpo'
Makefile:11: recipe for target 'modules' failed
make[2]: *** [modules] Error 2
make[2]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build/module'
Makefile:578: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/lib/dkms/spl/0.6.5.8/build'
Makefile:458: recipe for target 'all' failed
make: *** [all] Error 2

Reply to: