martyr-deepin / bcmwl

0 stars 1 forks source link

5.9 内核上 dkms 编译失败 #2

Open duanyao opened 3 years ago

duanyao commented 3 years ago

内核来自 debian buster-backports 仓库。bcmwl-kernel-source 的版本是 6.30.223.272+bdcom-deepin 。 编译日志( /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/make.log ):

DKMS make.log for bcmwl-6.30.223.272+bdcom for kernel 5.9.0-0.bpo.5-amd64 (x86_64)
2021年 02月 05日 星期五 17:03:55 CST
make: 进入目录“/usr/src/linux-headers-5.9.0-0.bpo.5-amd64”
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  AR      /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/built-in.a
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/shared/linux_osl.o
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.o
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_iw.o
  CC [M]  /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o
In file included from /var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:40:
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.h:52:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (wl_dbg_level & WL_DBG_DBG) {   \
     ^
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:825:3: note: in expansion of macro ‘WL_DBG’
   WL_DBG(("network eap\n"));
   ^~~~~~
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:826:2: note: here
  default:
  ^~~~~~~
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’:
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.c:780:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  if ((val & 0x0000ff00) != 0)
  ^~
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.c:782:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   bar1_size = pci_resource_len(pdev, 2);
   ^~~~~~~~~
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_ioctl’:
/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.c:1657:6: error: implicit declaration of function ‘segment_eq’; did you mean ‘net_eq’? [-Werror=implicit-function-declaration]
  if (segment_eq(get_fs(), KERNEL_DS))
      ^~~~~~~~~~
      net_eq
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-5.9.0-0.bpo.5-common/scripts/Makefile.build:288:/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build/src/wl/sys/wl_linux.o] 错误 1
make[2]: *** 正在等待未完成的任务....
make[1]: *** [/usr/src/linux-headers-5.9.0-0.bpo.5-common/Makefile:1799:/var/lib/dkms/bcmwl/6.30.223.272+bdcom/build] 错误 2
make: *** [/usr/src/linux-headers-5.9.0-0.bpo.5-common/Makefile:185:__sub-make] 错误 2
make: 离开目录“/usr/src/linux-headers-5.9.0-0.bpo.5-amd64”
duanyao commented 3 years ago

看来是上游的问题,bcmwl 与 5.9以上内核目前不兼容。 https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1899866 不过,deepin 的 5.10.5-amd64-desktop+ 内核与 bcmwl-kernel-source 6.30.223.272+bdcom-deepin 是兼容的,应该是做过修改吧。