[DRBD-user] Problems compiling kernel module

Adam Goryachev adam at websitemanagers.com.au
Fri Jun 3 01:05:23 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 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.
OK, so as I said, I got the latest code with git and got a similar 
error, which explicitly is this:
root at xen6:/usr/src/drbd9/git/drbd-9.0# make
make[1]: Entering directory '/usr/src/drbd9/git/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/git/drbd-9.0/drbd  modules
   CC [M]  /usr/src/drbd9/git/drbd-9.0/drbd/drbd_debugfs.o
In file included from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h: In 
function ‘drbd_ib_create_cq’:
/usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd_int.h:50:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_debugfs.c:10:
/usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd-kernel-compat/drbd_wrappers.h:1533:0,
                  from /usr/src/drbd9/git/drbd-9.0/drbd/drbd_int.h:50,
                  from /usr/src/drbd9/git/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/git/drbd-9.0/drbd/drbd_debugfs.o' failed
make[5]: *** [/usr/src/drbd9/git/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/git/drbd-9.0/drbd' failed
make[4]: *** [_module_/usr/src/drbd9/git/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/git/drbd-9.0/drbd'
Makefile:103: recipe for target 'module' failed
make: *** [module] Error 2
root at xen6:/usr/src/drbd9/git/drbd-9.0#

I'm in a difficult position, I'm hoping debian testing will move to 
stable soon, debian stable (with xen) crashes on bootup on these 
machines, while debian testing works properly. I actually tried git 
before the ubuntu packages, but thought maybe the packaged version might 
work better.

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.

Regards,
Adam


-- 
Adam Goryachev
Website Managers
P: +61 2 8304 0000                    adam at websitemanagers.com.au
F: +61 2 8304 0001                     www.websitemanagers.com.au




More information about the drbd-user mailing list