datto / dattobd

kernel module for taking block-level snapshots and incremental backups of Linux block devices
GNU General Public License v2.0
566 stars 121 forks source link

Installation fails on Debian 10 w/ kernel 5.8.10 #234

Open barnumbirr opened 3 years ago

barnumbirr commented 3 years ago

Hello there,

dattodb fails on Debian 10 running Kernel 5.8.10 from backports:

root@krypton:~# apt-get install dattobd-dkms dattobd-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dkms libdattobd1
Suggested packages:
  python3-apport menu
Recommended packages:
  fakeroot sudo linux-headers-686-pae | linux-headers-amd64 | linux-headers-generic | linux-headers
The following NEW packages will be installed:
  dattobd-dkms dattobd-utils dkms libdattobd1
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/152 kB of archives.
After this operation, 592 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package dkms.
(Reading database ... 56731 files and directories currently installed.)
Preparing to unpack .../archives/dkms_2.6.1-4_all.deb ...
Unpacking dkms (2.6.1-4) ...
Setting up dkms (2.6.1-4) ...
Selecting previously unselected package dattobd-dkms.
(Reading database ... 56758 files and directories currently installed.)
Preparing to unpack .../dattobd-dkms_0.10.14-28.1debian10_all.deb ...
Unpacking dattobd-dkms (0.10.14-28.1debian10) ...
Selecting previously unselected package libdattobd1.
Preparing to unpack .../libdattobd1_0.10.14-28.1debian10_amd64.deb ...
Unpacking libdattobd1 (0.10.14-28.1debian10) ...
Selecting previously unselected package dattobd-utils.

Preparing to unpack .../dattobd-utils_0.10.14-28.1debian10_amd64.deb ...
Unpacking dattobd-utils (0.10.14-28.1debian10) ...
Setting up dattobd-dkms (0.10.14-28.1debian10) ...

Removing old dattobd-0.10.14 DKMS files...

------------------------------
Deleting module version: 0.10.14
completely from the DKMS tree.
------------------------------
Done.
Loading new dattobd-0.10.14 DKMS files...
Building for 5.8.0-0.bpo.2-amd64
Building initial module for 5.8.0-0.bpo.2-amd64
Error! Bad return status for module build on kernel: 5.8.0-0.bpo.2-amd64 (x86_64)
Consult /var/lib/dkms/dattobd/0.10.14/build/make.log for more information.
dpkg: error processing package dattobd-dkms (--configure):
 installed dattobd-dkms package post-installation script subprocess returned error exit status 10
Setting up libdattobd1 (0.10.14-28.1debian10) ...
dpkg: dependency problems prevent configuration of dattobd-utils:
 dattobd-utils depends on dattobd-dkms (= 0.10.14-28.1debian10); however:
  Package dattobd-dkms is not configured yet.

dpkg: error processing package dattobd-utils (--configure):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.8.5-2) ...
Errors were encountered while processing:
 dattobd-dkms
 dattobd-utils
E: Sub-process /usr/bin/dpkg returned an error code (1)

and

root@krypton:~# cat /var/lib/dkms/dattobd/0.10.14/build/make.log
DKMS make.log for dattobd-0.10.14 for kernel 5.8.0-0.bpo.2-amd64 (x86_64)
Tue 10 Nov 2020 11:55:04 PM CET
make: Entering directory '/usr/src/linux-headers-5.8.0-0.bpo.2-amd64'
  CC [M]  /var/lib/dkms/dattobd/0.10.14/build/dattobd.o
In file included from /usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/umh.h:4,
                 from /usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/kmod.h:9,
                 from /usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/module.h:16,
                 from /var/lib/dkms/dattobd/0.10.14/build/includes.h:10,
                 from /var/lib/dkms/dattobd/0.10.14/build/dattobd.c:7:
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c: In function ‘__tracer_setup_snap’:
/usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/gfp.h:297:20: warning: passing argument 1 of ‘blk_alloc_queue’ makes pointer from integer without a cast [-Wint-conversion]
 #define GFP_KERNEL (__GFP_RECLAIM | __GFP_IO | __GFP_FS)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c:3613:34: note: in expansion of macro ‘GFP_KERNEL’
  dev->sd_queue = blk_alloc_queue(GFP_KERNEL);
                                  ^~~~~~~~~~
In file included from /var/lib/dkms/dattobd/0.10.14/build/includes.h:12,
                 from /var/lib/dkms/dattobd/0.10.14/build/dattobd.c:7:
/usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/blkdev.h:1172:23: note: expected ‘blk_qc_t (*)(struct request_queue *, struct bio *)’ {aka ‘unsigned int (*)(struct request_queue *, struct bio *)’} but argument is of type ‘unsigned int’
 struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id);
                       ^~~~~~~~~~~~~~~
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c:3613:18: error: too few arguments to function ‘blk_alloc_queue’
  dev->sd_queue = blk_alloc_queue(GFP_KERNEL);
                  ^~~~~~~~~~~~~~~
In file included from /var/lib/dkms/dattobd/0.10.14/build/includes.h:12,
                 from /var/lib/dkms/dattobd/0.10.14/build/dattobd.c:7:
/usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/blkdev.h:1172:23: note: declared here
 struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id);
                       ^~~~~~~~~~~~~~~
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c:3622:2: error: implicit declaration of function ‘blk_queue_make_request’; did you mean ‘blk_queue_max_segments’? [-Werror=implicit-function-declaration]
  blk_queue_make_request(dev->sd_queue, snap_mrf);
  ^~~~~~~~~~~~~~~~~~~~~~
  blk_queue_max_segments
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c: In function ‘agent_init’:
/var/lib/dkms/dattobd/0.10.14/build/dattobd.c:5208:51: error: passing argument 4 of ‘proc_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  info_proc = proc_create(INFO_PROC_FILE, 0, NULL, &dattobd_proc_fops);
                                                   ^~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/dattobd/0.10.14/build/includes.h:16,
                 from /var/lib/dkms/dattobd/0.10.14/build/dattobd.c:7:
/usr/src/linux-headers-5.8.0-0.bpo.2-common/include/linux/proc_fs.h:107:24: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’
 struct proc_dir_entry *proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct proc_ops *proc_ops);
                        ^~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-5.8.0-0.bpo.2-common/scripts/Makefile.build:286: /var/lib/dkms/dattobd/0.10.14/build/dattobd.o] Error 1
make[1]: *** [/usr/src/linux-headers-5.8.0-0.bpo.2-common/Makefile:1764: /var/lib/dkms/dattobd/0.10.14/build] Error 2
make: *** [/usr/src/linux-headers-5.8.0-0.bpo.2-common/Makefile:185: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-5.8.0-0.bpo.2-amd64'

Let me know if I can help any further.

Cheers.

yves84 commented 3 years ago

Issues already exists ?!

https://github.com/datto/dattobd/issues/221

barnumbirr commented 3 years ago

Partially, yes. These error will most likely be resolved when #229 is merged.