[Semi-Solved] What could cause symbol bp_extack_genl_register_family missing for cfg80211?

[Update: Semi-Solved: The problem is a build-time problem of mac80211 when building on macOS 10.13. On Linux, with the exact same commits of LEDE and all feeds, the resulting image works. I compared the full build logs of mac80211 from both platforms, and it reveals that for some strange reason on macOS, make does not enter the backport subdirectory (message make[3]: Entering directory '...linux-ramips_mt76x8/backports-2017-11-01 is missing). No idea yet why: thus semi- solved)]

I really try to read up, understand and fix things myself before posting questions but I'm really getting desperate over this one, so any hint is welcome!

I tried to ask for help before here but probably with a too general subject line.

I rebuilt from today's master on lede-project.org, in a completely fresh tree, using 100% default config, for the ramips/MT7688/Omega2 target.

The build works, but the image produced cannot load cfg80211 (and in consequence, no wifi related modules at all) because cfg80211 does not find bp_extack_genl_unregister_family and bp_extack_genl_register_family:

...
[    8.134650] kmodloader: loading kernel modules from /etc/modules.d/*
[    8.146033] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    8.163242] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[    8.171367] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[    8.181487] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.196010] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[    8.260589] xt_time: kernel timezone is -0000
[    8.274013] cfg80211: Unknown symbol bp_extack_genl_unregister_family (err 0)
[    8.281615] cfg80211: Unknown symbol bp_extack_genl_register_family (err 0)
[    8.299335] PPP generic driver version 2.4.2
[    8.306550] NET: Registered protocol family 24
[    8.319905] cfg80211: Unknown symbol bp_extack_genl_unregister_family (err 0)
[    8.327561] cfg80211: Unknown symbol bp_extack_genl_register_family (err 0)
[    8.346994] cfg80211: Unknown symbol bp_extack_genl_unregister_family (err 0)
[    8.354653] cfg80211: Unknown symbol bp_extack_genl_register_family (err 0)
[    8.362488] kmodloader: 5 modules could not be probed
[    8.367735] kmodloader: - cfg80211 - 0
[    8.371607] kmodloader: dependency not loaded cfg80211
[    8.377036] kmodloader: - mac80211 - 1
[    8.380908] kmodloader: dependency not loaded mac80211
[    8.386250] kmodloader: dependency not loaded cfg80211
[    8.391524] kmodloader: - mt76 - 2
[    8.395097] kmodloader: dependency not loaded mt76
[    8.400020] kmodloader: dependency not loaded mac80211
[    8.405434] kmodloader: dependency not loaded cfg80211
[    8.410711] kmodloader: - mt7603e - 3
[    8.414556] kmodloader: dependency not loaded mt76
[    8.419480] kmodloader: dependency not loaded mac80211
[    8.424815] kmodloader: dependency not loaded cfg80211
[    8.430088] kmodloader: - mt76x2e - 3
...

I found that these originate from backports-2017-11-01/compat/backport-4.12.c, but I have no clue why these functions are not included in a way that would allow cfg80211 to access them when needed.

I simply don't understand enough to see what could be the problem - and the process of trying to figure out by try and error is so horribly slow because of the build times :frowning:

Possibly the cfg80211 module you're using is incompatible with the current kernel.

@jwoods thanks for the hint!

However, how could my cfg80211 possibly become incompatible with the kernel, when I'm building the complete distribution from scratch without configuring anything except target/subtarget/profile (MediaTek ramips/MT76x8/Omega2)?

Does this mean the current master is broken for that target?