[DRBD-user] building v9

Yannis Milios yannis.milios at gmail.com
Thu Dec 10 11:44:33 CET 2020


I tested building on  5.8.0-31-generic (Ubuntu Focal) and I'm getting the
same error as you do, so I'd assume that drbd cannot build against that
kernel at the moment.
I have reverted back to 5.4.0-48-generic which seems to be ok.

On Thu, 10 Dec 2020 at 05:59, Pierre-Philipp Braun <pbraun at nethence.com>
wrote:

> Hey.  Here is some update on my attempts to build the v9 module on
> Ubuntu.  I managed to build it on Slackware Linux before, but for some
> reason all my attempts are failing on Ubuntu/focal.
>
> Ubuntu 20.04.1 LTS
>
> 5.8.0-31-generic vs. 5.9.11.xenreiser4
>
> /usr/local/bin/spatch --version
> spatch version 1.0.8-00177-g28737419 compiled with OCaml version 4.08.1
> Flags passed to the configure script: [none]
> OCaml scripting support: yes
> Python scripting support: yes
> Syntax of regular expressions: Str
>
> ---
>
> apt install drbd-dkms #
> https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack
> cat /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/make.log
>
> [...]
> Successfully connected to SPAAS
> ('d35a4b17210dab1336de2725b997f300e9acd297')
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
> Current
>                                  Dload  Upload   Total   Spent    Left
> Speed
> 100  4819    0     0    0  4819      0  70867 --:--:-- --:--:-- --:--:--
> 69840
>   You can create a new .tgz including this pre-computed compat patch
>   by calling "make unpatch ; echo
> drbd-9.0.25-1/drbd/drbd-kernel-compat/cocci_cache/19859231f3d13f02c91b7f06baf8e98c/compat.patch
> >>.filelist ; make tgz"
>   PATCH
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_dax_pmem.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_debugfs.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.o
>   CC [M]  /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_proc.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_sender.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_receiver.o
>   CC [M]  /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_req.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_actlog.o
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c: In
> function 'bm_realloc_pages':
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c:368:15:
> error: too many arguments to function '__vmalloc'
>   368 |   new_pages = __vmalloc(bytes,
>       |               ^~~~~~~~~
> In file included from
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c:16:
> ./include/linux/vmalloc.h:111:14: note: declared here
>   111 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
>       |              ^~~~~~~~~
> make[2]: *** [scripts/Makefile.build:290:
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [Makefile:1780:
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
> make: Leaving directory
> '/var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd'
>
> ---
>
> same goes with my customized 5.9.11.xenreiser4 kernel
>
> Successfully connected to SPAAS
> ('d35a4b17210dab1336de2725b997f300e9acd297')
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
> Current
>                                  Dload  Upload   Total   Spent    Left
> Speed
> 100  4819    0     0    0  4819      0  64253 --:--:-- --:--:-- --:--:--
> 63407
>   You can create a new .tgz including this pre-computed compat patch
>   by calling "make unpatch ; echo
> drbd-9.0.25-1/drbd/drbd-kernel-compat/cocci_cache/19859231f3d13f02c91b7f06baf8e98c/compat.patch
> >>.filelist ; make tgz"
>   PATCH
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_dax_pmem.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_debugfs.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.o
>   CC [M]  /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_proc.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_sender.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_receiver.o
>   CC [M]  /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_req.o
>   CC [M]
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_actlog.o
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c: In
> function 'bm_realloc_pages':
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c:368:15:
> error: too many arguments to function '__vmalloc'
>   368 |   new_pages = __vmalloc(bytes,
>       |               ^~~~~~~~~
> In file included from
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.c:16:
> ./include/linux/vmalloc.h:111:14: note: declared here
>   111 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
>       |              ^~~~~~~~~
>   CC [M]  /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/lru_cache.o
> make[2]: *** [scripts/Makefile.build:290:
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd/drbd_bitmap.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [Makefile:1780:
> /var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
> make: Leaving directory
> '/var/lib/dkms/drbd/9.0.25-1ppa1~focal1/build/src/drbd'
>
> ---
>
> cd drbd-9.0.26-0rc3/drbd/
> make # KDIR points to /usr/src/linux-headers-5.8.0-31-generic/
>
>   PATCH
> patching file ./drbd_int.h
> patching file drbd_main.c
> patching file drbd_nl.c
> patching file drbd_req.c
> patching file drbd_debugfs.c
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_dax_pmem.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_debugfs.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_bitmap.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_proc.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_sender.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_receiver.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_req.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_actlog.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/lru_cache.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.o
> In file included from /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:19:
> ./include/linux/vermagic.h:6:2: error: #error "This header can be included
> from kernel/module.c or *.mod.c only"
>     6 | #error "This header can be included from kernel/module.c or
> *.mod.c only"
>       |  ^~~~~
> make[2]: *** [scripts/Makefile.build:290:
> /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.o] Error 1
> make[1]: *** [Makefile:1780: /root/tp/drbd-9.0.26-0rc3/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
>
> cd drbd/drbd/ # drbd-9.0
> make # KDIR points to /usr/src/linux-headers-5.8.0-31-generic/
>
>   PATCH
> patching file ./drbd_int.h
> patching file drbd_main.c
> patching file drbd_nl.c
> patching file drbd_req.c
> patching file drbd_debugfs.c
>   CC [M]  /root/tp/drbd/drbd/drbd_dax_pmem.o
>   CC [M]  /root/tp/drbd/drbd/drbd_debugfs.o
>   CC [M]  /root/tp/drbd/drbd/drbd_bitmap.o
>   CC [M]  /root/tp/drbd/drbd/drbd_proc.o
>   CC [M]  /root/tp/drbd/drbd/drbd_sender.o
>   CC [M]  /root/tp/drbd/drbd/drbd_receiver.o
>   CC [M]  /root/tp/drbd/drbd/drbd_req.o
>   CC [M]  /root/tp/drbd/drbd/drbd_actlog.o
>   CC [M]  /root/tp/drbd/drbd/lru_cache.o
>   CC [M]  /root/tp/drbd/drbd/drbd_main.o
> In file included from /root/tp/drbd/drbd/drbd_main.c:19:
> ./include/linux/vermagic.h:6:2: error: #error "This header can be included
> from kernel/module.c or *.mod.c only"
>     6 | #error "This header can be included from kernel/module.c or
> *.mod.c only"
>       |  ^~~~~
> make[2]: *** [scripts/Makefile.build:290: /root/tp/drbd/drbd/drbd_main.o]
> Error 1
> make[1]: *** [Makefile:1780: /root/tp/drbd/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
>
> ---
>
> cd drbd-9.0.26-0rc3/drbd/
> make KDIR=/usr/src/linux-5.9.11
>
>   PATCH
> patching file ./drbd_int.h
> patching file drbd_main.c
> patching file drbd_nl.c
> patching file drbd_req.c
> patching file drbd_debugfs.c
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_dax_pmem.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_debugfs.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_bitmap.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_proc.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_sender.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_receiver.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_req.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_actlog.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/lru_cache.o
>   CC [M]  /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.o
> In file included from /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:19:
> ./include/linux/vermagic.h:6:2: error: #error "This header can be included
> from kernel/module.c or *.mod.c only"
>     6 | #error "This header can be included from kernel/module.c or
> *.mod.c only"
>       |  ^~~~~
> /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c: In function
> 'drbd_create_device':
> /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:3672:22: warning: passing
> argument 1 of 'blk_alloc_queue' makes integer from pointer without a cast
> [-Wint-conversion]
>  3672 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);
>       |                      ^~~~~~~~~~~~~~~~~
>       |                      |
>       |                      blk_qc_t (*)(struct request_queue *, struct
> bio *) {aka unsigned int (*)(struct request_queue *, struct bio *)}
> In file included from ./include/linux/blk-cgroup.h:23,
>                  from ./include/linux/writeback.h:14,
>                  from ./include/linux/memcontrol.h:22,
>                  from ./include/net/sock.h:53,
>                  from /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:24:
> ./include/linux/blkdev.h:1195:23: note: expected 'int' but argument is of
> type 'blk_qc_t (*)(struct request_queue *, struct bio *)' {aka 'unsigned
> int (*)(struct request_queue *, struct bio *)'}
>  1195 | struct request_queue *blk_alloc_queue(int node_id);
>       |                       ^~~~~~~~~~~~~~~
> /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:3672:6: error: too many
> arguments to function 'blk_alloc_queue'
>  3672 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);
>       |      ^~~~~~~~~~~~~~~
> In file included from ./include/linux/blk-cgroup.h:23,
>                  from ./include/linux/writeback.h:14,
>                  from ./include/linux/memcontrol.h:22,
>                  from ./include/net/sock.h:53,
>                  from /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.c:24:
> ./include/linux/blkdev.h:1195:23: note: declared here
>  1195 | struct request_queue *blk_alloc_queue(int node_id);
>       |                       ^~~~~~~~~~~~~~~
> make[2]: *** [scripts/Makefile.build:283:
> /root/tp/drbd-9.0.26-0rc3/drbd/drbd_main.o] Error 1
> make[1]: *** [Makefile:1784: /root/tp/drbd-9.0.26-0rc3/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
>
> ---
>
> cd drbd/drbd/ # drbd-9.0
> make KDIR=/usr/src/linux-5.9.11
>
>   PATCH
> patching file ./drbd_int.h
> patching file drbd_main.c
> patching file drbd_nl.c
> patching file drbd_req.c
> patching file drbd_debugfs.c
>   CC [M]  /root/tp/drbd/drbd/drbd_dax_pmem.o
>   CC [M]  /root/tp/drbd/drbd/drbd_debugfs.o
>   CC [M]  /root/tp/drbd/drbd/drbd_bitmap.o
>   CC [M]  /root/tp/drbd/drbd/drbd_proc.o
>   CC [M]  /root/tp/drbd/drbd/drbd_sender.o
>   CC [M]  /root/tp/drbd/drbd/drbd_receiver.o
>   CC [M]  /root/tp/drbd/drbd/drbd_req.o
>   CC [M]  /root/tp/drbd/drbd/drbd_actlog.o
>   CC [M]  /root/tp/drbd/drbd/lru_cache.o
>   CC [M]  /root/tp/drbd/drbd/drbd_main.o
> In file included from /root/tp/drbd/drbd/drbd_main.c:19:
> ./include/linux/vermagic.h:6:2: error: #error "This header can be included
> from kernel/module.c or *.mod.c only"
>     6 | #error "This header can be included from kernel/module.c or
> *.mod.c only"
>       |  ^~~~~
> /root/tp/drbd/drbd/drbd_main.c: In function 'drbd_create_device':
> /root/tp/drbd/drbd/drbd_main.c:3672:22: warning: passing argument 1 of
> 'blk_alloc_queue' makes integer from pointer without a cast
> [-Wint-conversion]
>  3672 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);
>       |                      ^~~~~~~~~~~~~~~~~
>       |                      |
>       |                      blk_qc_t (*)(struct request_queue *, struct
> bio *) {aka unsigned int (*)(struct request_queue *, struct bio *)}
> In file included from ./include/linux/blk-cgroup.h:23,
>                  from ./include/linux/writeback.h:14,
>                  from ./include/linux/memcontrol.h:22,
>                  from ./include/net/sock.h:53,
>                  from /root/tp/drbd/drbd/drbd_main.c:24:
> ./include/linux/blkdev.h:1195:23: note: expected 'int' but argument is of
> type 'blk_qc_t (*)(struct request_queue *, struct bio *)' {aka 'unsigned
> int (*)(struct request_queue *, struct bio *)'}
>  1195 | struct request_queue *blk_alloc_queue(int node_id);
>       |                       ^~~~~~~~~~~~~~~
> /root/tp/drbd/drbd/drbd_main.c:3672:6: error: too many arguments to
> function 'blk_alloc_queue'
>  3672 |  q = blk_alloc_queue(drbd_make_request, NUMA_NO_NODE);
>       |      ^~~~~~~~~~~~~~~
> In file included from ./include/linux/blk-cgroup.h:23,
>                  from ./include/linux/writeback.h:14,
>                  from ./include/linux/memcontrol.h:22,
>                  from ./include/net/sock.h:53,
>                  from /root/tp/drbd/drbd/drbd_main.c:24:
> ./include/linux/blkdev.h:1195:23: note: declared here
>  1195 | struct request_queue *blk_alloc_queue(int node_id);
>       |                       ^~~~~~~~~~~~~~~
> make[2]: *** [scripts/Makefile.build:283: /root/tp/drbd/drbd/drbd_main.o]
> Error 1
> make[1]: *** [Makefile:1784: /root/tp/drbd/drbd] Error 2
> make: *** [Makefile:132: kbuild] Error 2
>
> ---
>
> What am I doing wrong?  Should I provide more information of some kind to
> help troubleshoot my builds?
>
> Thank you
> --
> Pierre-Philipp
> _______________________________________________
> Star us on GITHUB: https://github.com/LINBIT
> drbd-user mailing list
> drbd-user at lists.linbit.com
> https://lists.linbit.com/mailman/listinfo/drbd-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20201210/e894de63/attachment-0001.htm>


More information about the drbd-user mailing list