FomalhautWeisszwerg / rtl8822bu

RTL8822BU Wireless Driver for Linux >= 4.12
GNU General Public License v2.0
34 stars 12 forks source link

Building failed with "error: implicit declaration of function ‘allow_signal’" #1

Closed FomalhautWeisszwerg closed 7 years ago

FomalhautWeisszwerg commented 7 years ago

OS

$ uname -a
Linux debian-server 4.12.0-1-amd64 #1 SMP Debian 4.12.6-1 (2017-08-12) x86_64 GNU/Linux

GCC

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 7.1.0-13' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.1.0 (Debian 7.1.0-13)

Logs

$ git show
commit 0a7aa0f69f4fec5c5fc369732675a6e8c1339e5f (HEAD -> master, origin/master, origin/HEAD, develop)
Author: Brandon Bailey <brandon@rmrcom.com>
Date:   Fri Jun 2 11:29:56 2017 -0400

    Added new ASUS USB device descriptor

diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c
index 5e15bdf..cfe7dec 100644
--- a/os_dep/linux/usb_intf.c
+++ b/os_dep/linux/usb_intf.c
@@ -156,6 +156,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
        {USB_DEVICE(0x0789, 0x016E), .driver_info = RTL8812}, /* Logitec - Edimax */
        {USB_DEVICE(0x0409, 0x0408), .driver_info = RTL8812}, /* NEC - */
        {USB_DEVICE(0x0B05, 0x17D2), .driver_info = RTL8812}, /* ASUS - Edimax */
+       {USB_DEVICE(0x0B05, 0x184C), .driver_info = RTL8812}, /* ASUS - Edimax */
        {USB_DEVICE(0x0E66, 0x0022), .driver_info = RTL8812}, /* HAWKING - Edimax */
        {USB_DEVICE(0x0586, 0x3426), .driver_info = RTL8812}, /* ZyXEL - */
        {USB_DEVICE(0x2001, 0x3313), .driver_info = RTL8812}, /* D-Link - ALPHA */
$ ls
clean  hal          include  Makefile  platform   RTL8822Bfw_NIC.bin  runwpa
core   ifcfg-wlan0  Kconfig  os_dep    README.md  rtl8822b.mk         wlan0dhcp
$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.12.0-1-amd64/build M=/home/working/rtl8822bu modules
make[1]: Entering directory '/usr/src/linux-headers-4.12.0-1-amd64'
  CC [M]  /home/working/rtl8822bu/core/rtw_cmd.o
In file included from /home/working/rtl8822bu/include/drv_types.h:32:0,
                 from /home/working/rtl8822bu/core/rtw_cmd.c:22:
/home/working/rtl8822bu/include/osdep_service.h: In function ‘thread_enter’:
/home/working/rtl8822bu/include/osdep_service.h:345:2: error: implicit declaration of function ‘allow_signal’ [-Werror=implicit-function-declaration]
  allow_signal(SIGTERM);
  ^~~~~~~~~~~~
/home/working/rtl8822bu/include/osdep_service.h: In function ‘flush_signals_thread’:
/home/working/rtl8822bu/include/osdep_service.h:355:6: error: implicit declaration of function ‘signal_pending’ [-Werror=implicit-function-declaration]
  if (signal_pending(current))
      ^~~~~~~~~~~~~~
/home/working/rtl8822bu/include/osdep_service.h:356:3: error: implicit declaration of function ‘flush_signals’ [-Werror=implicit-function-declaration]
   flush_signals(current);
   ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.12.0-1-common/scripts/Makefile.build:307: recipe for target '/home/working/rtl8822bu/core/rtw_cmd.o' failed
make[4]: *** [/home/working/rtl8822bu/core/rtw_cmd.o] Error 1
/usr/src/linux-headers-4.12.0-1-common/Makefile:1532: recipe for target '_module_/home/working/rtl8822bu' failed
make[3]: *** [_module_/home/working/rtl8822bu] Error 2
Makefile:152: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.12.0-1-amd64'
Makefile:1318: recipe for target 'modules' failed
make: *** [modules] Error 2
FomalhautWeisszwerg commented 7 years ago

allow_signal requires explicit including of "linux/sched/signal.h" from Linux 4.11.

FomalhautWeisszwerg commented 7 years ago

Fixed on b281b12ffcdc7a7c0a8fc2e1e9f6eaaa33a8402d