Kernel5.*: DKMS give an errors while attempts to build a module

Hi, I installed Kernel 5.16 (I premise that I also tried all others Kernel 5*) and all DKMS modules on my system builds fine, except for on of these: 8814au, I got:

==> dkms install --no-depmod rtl8814au/r94.bdf80b5 -k 5.16.2-1-MANJARO
Deprecated feature: REMAKE_INITRD
Error! Bad return status for module build on kernel: 5.16.2-1-MANJARO (x86_64)
Consult /var/lib/dkms/rtl8814au/r94.bdf80b5/build/make.log for more information.
==> WARNING: `dkms install --no-depmod rtl8814au/r94.bdf80b5 -k 5.16.2-1-MANJARO' exited 10

Content of /var/lib/dkms/rtl8814au/r94.bdf80b5/build/make.log:

Summary
DKMS make.log for rtl8814au-r94.bdf80b5 for kernel 4.14.262-1-MANJARO (x86_64)
mar 25 gen 2022, 21:48:21, CET
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.14.262-1-MANJARO/build M=/var/lib/dkms/rtl8814au/r94.bdf80b5/build  modules
make[1]: Entering directory '/usr/lib/modules/4.14.262-1-MANJARO/build'
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_cmd.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_security.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_debug.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_io.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_ioctl_query.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_ioctl_set.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_ieee80211.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mlme.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mlme_ext.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mi.o
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mlme.c: In function ‘rtw_drv_scan_by_self’:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mlme.c:3130:17: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
 3130 |                 else
      |                 ^~~~
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_mlme.c:3133:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
 3133 |                         goto exit;
      |                         ^~~~
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_wlan_util.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_vht.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_pwrctrl.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_rf.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_chplan.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_recv.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_sta_mgt.o
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_recv.c: In function ‘validate_mp_recv_frame’:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_recv.c:3575:25: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
 3575 |                         for (i = 0; i < precv_frame->u.hdr.len; i = i + 8)
      |                         ^~~
In file included from /var/lib/dkms/rtl8814au/r94.bdf80b5/build/include/drv_types.h:60,
                 from /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_recv.c:17:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/include/rtw_debug.h:52:33: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
   52 |         #define RTW_INFO(x,...) do {} while (0)
      |                                 ^~
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_recv.c:3578:33: note: in expansion of macro ‘RTW_INFO’
 3578 |                                 RTW_INFO("#############################\n");
      |                                 ^~~~~~~~
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_ap.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/mesh/rtw_mesh.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/mesh/rtw_mesh_pathtbl.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/mesh/rtw_mesh_hwmp.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_xmit.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_p2p.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_rson.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_tdls.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_br_ext.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_iol.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_sreset.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_btcoex_wifionly.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_btcoex.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_beamforming.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_odm.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_rm.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_rm_fsm.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/rtw_rm_util.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/efuse/rtw_efuse.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/osdep_service.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/os_intfs.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/usb_intf.o
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/efuse/rtw_efuse.c: In function ‘rtw_efuse_analyze’:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/efuse/rtw_efuse.c:905:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  905 |                 if (i % 16 == 0)
      |                 ^~
In file included from /var/lib/dkms/rtl8814au/r94.bdf80b5/build/include/drv_types.h:60,
                 from /var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/efuse/rtw_efuse.c:17:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/include/rtw_debug.h:231:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  231 |         do {\
      |         ^~
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/core/efuse/rtw_efuse.c:907:25: note: in expansion of macro ‘_RTW_PRINT_SEL’
  907 |                         _RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s"
      |                         ^~~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/usb_ops_linux.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_linux.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/xmit_linux.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/mlme_linux.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/recv_linux.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_cfg80211.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/rtw_cfgvendor.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/wifi_regd.o
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_ch_switch_notify’:
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_cfg80211.c:472:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  472 |     if (!rtw_cfg80211_allow_ch_switch_notify(adapter))
      |     ^~
/var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_cfg80211.c:474:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  474 |                 cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/rtw_android.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/rtw_proc.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/rtw_rhashtable.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/os_dep/linux/ioctl_mp.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_intf.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_com.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_com_phycfg.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_phy.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_dm.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_dm_acs.o
  CC [M]  /var/lib/dkms/rtl8814au/r94.bdf80b5/build/hal/hal_btcoex_wifionly.o

Is not an AUR problem, since on Kernel 4.14 this module compiles fine, as well others DKMS modules (eg tl88x2bu still from AUR).

What can I do?

Just seems like the driver has not been ported to 5.16 yet as it’s a compile bug.

Likely caused by it now taking warnings as errors.

1 Like

This comment suggests to use the aircrack version if the above one fails.

In facts I am using this version (rtl8814au-aircrack-dkms-git); for now I installed rtl8814au-dkms-git and has been properly compiled/installed.