[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