lwfinger / rtl8723ds

Linux driver for RTL8723DS.
GNU General Public License v2.0
50 stars 45 forks source link

Build fails linking with 5.18-rc1 #17

Closed sehraf closed 2 years ago

sehraf commented 2 years ago

When trying to build the module for an Allwinner D1 kernel i get linking errors:

  LD [M]  /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/8723ds.o
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_multicast_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.c:1924: multiple definition of `is_multicast_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.c:4186: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_broadcast_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1295: multiple definition of `is_broadcast_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1295: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_zero_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1301: multiple definition of `is_zero_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1301: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_debug.o: in function `is_multicast_mac_addr':

These are repeated many times, i can provide the full log but didn't want to spam too much. (It was working fine with 5.17)

lwfinger commented 2 years ago

The code for those erroring routines was defined as 'extern __inline'. Changing it to 'static inline' fixes the problem. Do a pull and it should be OK.

sehraf commented 2 years ago

welp, you were faster, anyway thanks for fixing!