Project

General

Profile

Bug #342

soft-interface.c:1050:7: 'struct net_device' has no member named 'destructor'

Added by Ruben Kelevra about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
07/21/2017
Due date:
% Done:

0%

Estimated time:

Description

I tried to compile batman-adv 2017.1 with gcc 7.1.1 for kernel 4.11.9 and run into some trouble.

make -C /usr/lib/modules/4.11.9-1-ARCH/build M=/tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build PWD=/tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build REVISION= CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_DEBUG=n CONFIG_BATMAN_ADV_DEBUGFS=y CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_NC=n CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_BATMAN_V=n INSTALL_MOD_DIR=updates/    modules
make[1]: Entering directory '/usr/lib/modules/4.11.9-1-ARCH/build'
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/bat_algo.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/bat_iv_ogm.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/bitarray.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/bridge_loop_avoidance.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/debugfs.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/distributed-arp-table.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/fragmentation.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/gateway_client.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/gateway_common.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/hard-interface.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/hash.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/icmp_socket.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/main.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/netlink.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/originator.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/routing.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/send.o
  CC [M]  /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/soft-interface.o
/tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/soft-interface.c: In function 'batadv_softif_init_early':
/tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/soft-interface.c:1050:7: error: 'struct net_device' has no member named 'destructor'; did you mean 'priv_destructor'?
  dev->destructor = batadv_softif_free;
       ^~~~~~~~~~
       priv_destructor
make[3]: *** [scripts/Makefile.build:295: /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv/soft-interface.o] Error 1
make[2]: *** [scripts/Makefile.build:553: /tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build/net/batman-adv] Error 2
make[1]: *** [Makefile:1492: _module_/tmp/yaourt-tmp-ruben/aur-batman-adv/src/batman-adv-2017.1/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.11.9-1-ARCH/build'
make: *** [Makefile:90: all] Error 2

History

#1

Updated by Sven Eckelmann about 4 years ago

  • Assignee changed from batman-adv developers to Ruben Kelevra
  • Status changed from New to In Progress

Unfortunately, somebody thought that it is a good idea to change the API with a stable kernel. Not much we can do about it and we will most likely not fix it for those stable kernels (unless somebody wants to go through all those stable kernels and add the checks to compat-include/linux/netdevice.h). Please apply https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/20170609070510.19552-1-sven@narfation.org/

Btw. your kernel is EOL

#2

Updated by Sven Eckelmann about 4 years ago

Just searched through the Linux stable commits and for references to this change

$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
$ cd linux-stable
$ for i in $(git log --grep 'Upstream commit cf124db566e6b036b8bcbe8decbed740bdfac8c6' --all --pretty=oneline|awk '{ print $1 }'); do git tag --contains "${i}"|sort -V|head -n1;done
v4.11.9

v4.11.9-v4.11.12 are the only pre 4.12 kernels which have this commit backported. It is therefore less of a problem for us to mark the affected versions than I've expected. Can you please apply https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/20170609164234.26938-1-sven@narfation.org/ and https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/20170721091709.7978-1-sven@narfation.org/ and test again

#3

Updated by Ruben Kelevra about 4 years ago

[QUOTE]Btw. your kernel is EOL[/QUOTE]

Well, under archlinux, unfortunately, the 4.12 kernel is still in testing ... I doubt that's without a good reason, so I gonna wait until it's moved to the stable branch. :)

I'll try your patches 17043 and 17074 and report back.

#5

Updated by Sven Eckelmann about 4 years ago

  • Target version set to 2017.2
  • Status changed from In Progress to Resolved
#6

Updated by Sven Eckelmann about 4 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF