https://www.zhihu.com/question/50518514
http://blog.csdn.net/qq_30949367/article/details/50887135
03:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03) [zzh@bogon hybrid-wl]$ make KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory `/usr/src/kernels/3.10.0-327.el7.x86_64' CFG80211 API is prefered for this kernel version Using CFG80211 API CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_get_station’: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1460:20: error: ‘STATION_INFO_TX_BITRATE’ undeclared (first use in this function) sinfo->filled |= STATION_INFO_TX_BITRATE; ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1460:20: note: each undeclared identifier is reported only once for each function it appears in /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1477:20: error: ‘STATION_INFO_SIGNAL’ undeclared (first use in this function) sinfo->filled |= STATION_INFO_SIGNAL; ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: warning: initialization from incompatible pointer type [enabled by default] .get_station = wl_cfg80211_get_station,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: warning: (near initialization for ‘wl_cfg80211_ops.get_station’) [enabled by default] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_alloc_wdev’: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1894:22: error: incompatible types when assigning to type ‘const struct wiphy_wowlan_support *’ from type ‘struct wiphy_wowlan_support’ wdev->wiphy->wowlan = wl_wowlan_support; ^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_inform_single_bss’: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2037:3: error: incompatible type for argument 3 of ‘cfg80211_inform_bss’ (const u8 *)notify_ie,notify_ielen,signal,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4029:1: note: expected ‘enum cfg80211_bss_frame_type’ but argument is of type ‘const u8 *’ cfg80211_inform_bss(struct wiphy *wiphy,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2037:3: warning: passing argument 7 of ‘cfg80211_inform_bss’ makes integer from pointer without a cast [enabled by default] (const u8 *)notify_ie,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4029:1: note: expected ‘u16’ but argument is of type ‘const u8 *’ cfg80211_inform_bss(struct wiphy *wiphy,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2037:3: warning: passing argument 8 of ‘cfg80211_inform_bss’ makes pointer from integer without a cast [enabled by default] (const u8 *)notify_ie,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4029:1: note: expected ‘const u8 *’ but argument is of type ‘size_t’ cfg80211_inform_bss(struct wiphy *wiphy,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2037:3: error: too few arguments to function ‘cfg80211_inform_bss’ (const u8 *)notify_ie,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4029:1: note: declared here cfg80211_inform_bss(struct wiphy *wiphy,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_notify_connect_status’: /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2124:4: warning: passing argument 3 of ‘cfg80211_ibss_joined’ makes pointer from integer without a cast [enabled by default] cfg80211_ibss_joined(ndev,(u8 *)&wl->bssid,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4219:6: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘unsigned int’ void cfg80211_ibss_joined(struct net_device *dev,const u8 *bssid,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2124:4: error: too few arguments to function ‘cfg80211_ibss_joined’ cfg80211_ibss_joined(ndev,GFP_KERNEL); ^ In file included from /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:33:0: include/net/cfg80211.h:4219:6: note: declared here void cfg80211_ibss_joined(struct net_device *dev,^ make[2]: *** [/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o] Error 1 make[1]: *** [_module_/usr/local/src/hybrid-wl] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-327.el7.x86_64' make: *** [all] Error 2 [zzh@bogon hybrid-wl]$ ----------------------------------------- 作者:EricTang 链接:https://www.zhihu.com/question/50518514/answer/121747899 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 前两天已经解决了,现在把解决方法写下,方便有需要的人。 [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(3,11,0)/ >= KERNEL_VERSION(3,10,0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(3,15,0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ < KERNEL_VERSION(3,18,0)/ < KERNEL_VERSION(3,9,0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(4,0)/' src/wl/sys/wl_cfg80211_hybrid.c ------------------------------------------------------------ [zzh@bogon hybrid-wl]$ make KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory `/usr/src/kernels/3.10.0-327.el7.x86_64' CFG80211 API is prefered for this kernel version Using CFG80211 API CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: warning: initialization from incompatible pointer type [enabled by default] .get_station = wl_cfg80211_get_station,^ /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1799:2: warning: (near initialization for ‘wl_cfg80211_ops.get_station’) [enabled by default] LD [M] /usr/local/src/hybrid-wl/wl.o Building modules,stage 2. CFG80211 API is prefered for this kernel version Using CFG80211 API MODPOST 1 modules CC /usr/local/src/hybrid-wl/wl.mod.o LD [M] /usr/local/src/hybrid-wl/wl.ko make[1]: Leaving directory `/usr/src/kernels/3.10.0-327.el7.x86_64' [zzh@bogon hybrid-wl]$ ------------------------------------------------------------------------ [zzh@bogon hybrid-wl]$ ls built-in.o Makefile Module.symvers wl.ko wl.mod.o lib modules.order src wl.mod.c wl.o [zzh@bogon hybrid-wl]$ -----------------------------------------------------------
原文链接:https://www.f2er.com/centos/379903.html