Bug #342
closedsoft-interface.c:1050:7: 'struct net_device' has no member named 'destructor'
0%
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
Updated by Sven Eckelmann over 7 years ago
- Status changed from New to In Progress
- Assignee changed from batman-adv developers to Ruben Kelevra
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
Updated by Sven Eckelmann over 7 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
Updated by Ruben Kelevra over 7 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.
Updated by Ruben Kelevra over 7 years ago
Working fine, thank you!
This ticket can be closed. :)
Updated by Sven Eckelmann over 7 years ago
- Status changed from In Progress to Resolved
- Target version set to 2017.2
Updated by Sven Eckelmann over 7 years ago
- Status changed from Resolved to Closed