openwrt / routing

OpenWrt Routing Packages
328 stars 369 forks source link

batman-adv: build error: redefinition of 'skb_vlan_eth_hdr' #1036

Closed AcidSlide closed 8 months ago

AcidSlide commented 8 months ago

Maintainer: @ecsv Environment: ramips / mipsel_24kc (mt76x8), Xiaomi 4A 100M, openwrt-snapshot-4a2ff73

Description:

Error building/compiling batman-adv

In file included from <command-line>:
~/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/batman-adv-2023.3/compat-hacks.h:38:35: error: redefinition of 'skb_vlan_eth_hdr'
   38 | static inline struct vlan_ethhdr *skb_vlan_eth_hdr(const struct sk_buff *skb)
      |                                   ^~~~~~~~~~~~~~~~
In file included from ~/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/batman-adv-2023.3/compat-hacks.h:33:
./include/linux/if_vlan.h:66:35: note: previous definition of 'skb_vlan_eth_hdr' with type 'struct vlan_ethhdr *(const struct sk_buff *)'
   66 | static inline struct vlan_ethhdr *skb_vlan_eth_hdr(const struct sk_buff *skb)
      |                                   ^~~~~~~~~~~~~~~~
raenye commented 8 months ago

Same here, with a different arch, target, and kernel (mediatek/fiilogic linux-6.1.69).

EDIT: removing lines 31 to 43 in batman-adv/src/compat-hacks.h fixes the problem.

$ make package/feeds/routing/batman-adv/compile V=s
...
make[3]: Entering directory '/home/user/git/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.1.69'
  CC [M]  /home/user/git/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/batman-adv-2023.3/net/batman-adv/bat_algo.o
In file included from <command-line>:
/home/user/git/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/batman-adv-2023.3/compat-hacks.h:38:35: error: redefinition of 'skb_vlan_eth_hdr'
   38 | static inline struct vlan_ethhdr *skb_vlan_eth_hdr(const struct sk_buff *skb)
      |                                   ^~~~~~~~~~~~~~~~
In file included from /home/user/git/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/batman-adv-2023.3/compat-hacks.h:33:
./include/linux/if_vlan.h:68:35: note: previous definition of 'skb_vlan_eth_hdr' with type 'struct vlan_ethhdr *(const struct sk_buff *)'
   68 | static inline struct vlan_ethhdr *skb_vlan_eth_hdr(const struct sk_buff *skb)
      |                                   ^~~~~~~~~~~~~~~~
make[4]: *** [scripts/Makefile.build:250: /home/user/git/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/batman-adv-2023.3/net/batman-adv/bat_algo.o] Error 1