[DRBD-user] Problems compiling kernel module

Adam Goryachev mailinglists at websitemanagers.com.au
Mon Jun 6 13:24:00 CEST 2016

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.



On 3/06/2016 18:30, Roland Kammerer wrote:
> On Fri, Jun 03, 2016 at 09:05:23AM +1000, Adam Goryachev wrote:
>> On 02/06/16 23:44, Roland Kammerer wrote:
>>> On Thu, Jun 02, 2016 at 11:02:34PM +1000, Adam Goryachev wrote:
>>>> I'm trying to use debian testing and install drbd9.
>>>>
>>>> Using the packages from
>>>> http://ppa.launchpad.net/linbit/linbit-drbd9-stack/ubuntu/pool/main/d/,
>>>> specifically the xenial packages:
>>>> error: redefinition of ‘struct ib_cq_init_attr’
>>>>   struct ib_cq_init_attr {
>>>>          ^
>>> Known and the compat code for 4.5 is added in git.
>>>
>>> If you fankenstein your Debian with a xenial ppa that compiles on linux
>>> 4.4 (xenial) because it does not require the compat code for 4.5, then
>>> good luck on linux 4.5 which requires new compat code. This will never
>>> work.
>> I'm in a difficult position, I'm hoping debian testing will move to stable
>> soon,
> Depends on you definition of "soon", but hm, no.

Yes, well, history should have told me about that, but chatter around 6 
months or more ago made me think it might be soon.... I thought simply 
using testing was a simpler solution, but perhaps I'm now paying the 
price for taking the easy road...
>
>> OK, so as I said, I got the latest code with git and got a similar error,
>>
>> I'm fairly certain I'm still doing something wrong, but I'm just not so sure
>> what that might be.... so any assistance would be greatly appreciated.
> git submodule update --remote
>

Still looks like the same problem, starting from a completely clean 
directory:
root at xen6:/usr/src/drbd9# mkdir git2
root at xen6:/usr/src/drbd9# cd git2
root at xen6:/usr/src/drbd9/git2# git clone git://git.drbd.org/drbd-9.0.git
Cloning into 'drbd-9.0'...
remote: Counting objects: 48836, done.
remote: Compressing objects: 100% (12447/12447), done.
remote: Total 48836 (delta 37610), reused 46626 (delta 35750)
Receiving objects: 100% (48836/48836), 11.70 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (37610/37610), done.
Checking connectivity... done.
root at xen6:/usr/src/drbd9/git2# git submodule update --remote
fatal: Not a git repository (or any of the parent directories): .git
root at xen6:/usr/src/drbd9/git2# cd drbd-9.0/
root at xen6:/usr/src/drbd9/git2/drbd-9.0# git submodule update --remote
root at xen6:/usr/src/drbd9/git2/drbd-9.0# make
Submodule 'drbd-headers' (git://git.linbit.com/drbd-headers.git) 
registered for path 'drbd-headers'
Submodule 'drbd/drbd-kernel-compat' 
(git://git.linbit.com/drbd-kernel-compat.git) registered for path 
'drbd/drbd-kernel-compat'
Cloning into 'drbd-headers'...
remote: Counting objects: 300, done.
remote: Compressing objects: 100% (186/186), done.
remote: Total 300 (delta 195), reused 176 (delta 114)
Receiving objects: 100% (300/300), 62.83 KiB | 28.00 KiB/s, done.
Resolving deltas: 100% (195/195), done.
Checking connectivity... done.
Submodule path 'drbd-headers': checked out 
'2a06010c1b6d04f5d461a388efc47ba9809f89a3'
Cloning into 'drbd/drbd-kernel-compat'...
remote: Counting objects: 608, done.
remote: Compressing objects: 100% (366/366), done.
remote: Total 608 (delta 314), reused 462 (delta 231)
Receiving objects: 100% (608/608), 89.09 KiB | 29.00 KiB/s, done.
Resolving deltas: 100% (314/314), done.
Checking connectivity... done.
Submodule path 'drbd/drbd-kernel-compat': checked out 
'7018d547c68fb0e2b8cd927799650fcc037eac49'
make[1]: Entering directory '/usr/src/drbd9/git2/drbd-9.0/drbd'

     Calling toplevel makefile of kernel source tree, which I believe is in
     KDIR=/lib/modules/4.5.0-2-amd64/build

make -C /lib/modules/4.5.0-2-amd64/build 
SUBDIRS=/usr/src/drbd9/git2/drbd-9.0/drbd  modules
   COMPAT  have_atomic_dec_if_positive
   COMPAT  have_bdev_discard_alignment
   COMPAT  have_kref_get_unless_zero
   COMPAT  have_idr_for_each
   COMPAT  have_simple_positive
   COMPAT  have_three_paramater_hlist_for_each_entry
   COMPAT  have_bioset_create_front_pad
   COMPAT  have_sock_shutdown
   COMPAT  need_genlmsg_multicast_wrapper
   COMPAT  have_find_next_zero_bit_le
   COMPAT  blkdev_issue_zeroout_discard
   COMPAT  use_blk_queue_max_sectors_anyways
   COMPAT  have_genl_lock
   COMPAT  have_kvfree
   COMPAT  have_prandom_u32
   COMPAT  drbd_release_returns_void
   COMPAT  kmap_atomic_page_only
   COMPAT  have_bio_free
   COMPAT  have_rb_augment_functions
   COMPAT  have_dst_groups
   COMPAT  rdma_create_id_has_net_ns
   COMPAT  have_f_path_dentry
   COMPAT  blkdev_issue_zeroout_blkdev_ifl_wait
   COMPAT  have_ctrl_attr_mcast_groups
   COMPAT  have_vzalloc
   COMPAT  have_blk_check_plugged
   COMPAT  have_blkdev_get_by_path
   COMPAT  have_void_make_request
   COMPAT  have_atomic_in_flight
   COMPAT  have_proc_pde_data
   COMPAT  have_fmode_t
   COMPAT  have_linux_byteorder_swabb_h
   COMPAT  have_blk_queue_merge_bvec
   COMPAT  have_open_bdev_exclusive
   COMPAT  have_struct_bvec_iter
   COMPAT  have_blk_queue_max_hw_sectors
   COMPAT  have_signed_nla_put
   COMPAT  have_bd_unlink_disk_holder
   COMPAT  sock_create_kern_has_five_parameters
   COMPAT  have_blk_queue_max_segments
   COMPAT  have_rcu_dereference_protected
   COMPAT  have_blk_qc_t_make_request
   COMPAT  have_genlmsg_new
   COMPAT  have_bool_type
   COMPAT  bio_split_has_bio_split_pool_parameter
   COMPAT  have_generic_start_io_acct
   COMPAT  have_IS_ERR_OR_NULL
   COMPAT  queue_limits_has_discard_zeroes_data
   COMPAT  have_WB_congested_enum
   COMPAT  bioset_create_has_three_parameters
   COMPAT  have_is_vmalloc_addr
   COMPAT  have_umh_wait_proc
   COMPAT  have_genlmsg_reply
   COMPAT  have_genlmsg_put_reply
   COMPAT  have_bio_bi_error
   COMPAT  have_blk_set_stacking_limits
   COMPAT  hlist_for_each_entry_has_three_parameters
   COMPAT  have_genlmsg_msg_size
   COMPAT  have_security_netlink_recv
   COMPAT  have_blk_queue_split
   COMPAT  have_proc_create_data
   COMPAT  have_nlmsg_hdr
   COMPAT  have_clear_bit_unlock
   COMPAT  have_netlink_cb_portid
   COMPAT  have_ib_cq_init_attr
   COMPAT  have_bd_claim_by_disk
   COMPAT  have_kref_sub
   COMPAT  have_cn_netlink_skb_parms
   COMPAT  have_idr_alloc
   CHK     /usr/src/drbd9/git2/drbd-9.0/drbd/compat.h
   UPD     /usr/src/drbd9/git2/drbd-9.0/drbd/compat.h
   CC [M]  /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.o
In file included from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1535:8: 
error: redefinition of ‘struct ib_cq_init_attr’
  struct ib_cq_init_attr {
         ^
In file included from 
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/linux-headers-4.5.0-2-common/include/rdma/ib_verbs.h:260:8: 
note: originally defined here
  struct ib_cq_init_attr {
         ^
In file included from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h: In 
function ‘drbd_ib_create_cq’:
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1549:8: 
warning: passing argument 5 of ‘ib_create_cq’ makes pointer from integer 
without a cast [-Wint-conversion]
         cq_attr->cqe, cq_attr->comp_vector);
         ^
In file included from 
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/linux-headers-4.5.0-2-common/include/rdma/ib_verbs.h:2557:15: 
note: expected ‘const struct ib_cq_init_attr *’ but argument is of type 
‘unsigned int’
  struct ib_cq *ib_create_cq(struct ib_device *device,
                ^
In file included from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1548:9: 
error: too many arguments to function ‘ib_create_cq’
   return ib_create_cq(device, comp_handler, event_handler, cq_context,
          ^
In file included from 
/usr/src/drbd9/git2/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/linux-headers-4.5.0-2-common/include/rdma/ib_verbs.h:2557:15: 
note: declared here
  struct ib_cq *ib_create_cq(struct ib_device *device,
                ^
/usr/src/linux-headers-4.5.0-2-common/scripts/Makefile.build:263: recipe 
for target '/usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.o' failed
make[5]: *** [/usr/src/drbd9/git2/drbd-9.0/drbd/drbd_debugfs.o] Error 1
/usr/src/linux-headers-4.5.0-2-common/Makefile:1408: recipe for target 
'_module_/usr/src/drbd9/git2/drbd-9.0/drbd' failed
make[4]: *** [_module_/usr/src/drbd9/git2/drbd-9.0/drbd] Error 2
Makefile:146: recipe for target 'sub-make' failed
make[3]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[2]: *** [all] Error 2
Makefile:103: recipe for target 'kbuild' failed
make[1]: *** [kbuild] Error 2
make[1]: Leaving directory '/usr/src/drbd9/git2/drbd-9.0/drbd'
Makefile:103: recipe for target 'module' failed
make: *** [module] Error 2

Any other suggestions?



More information about the drbd-user mailing list