Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation against kernel 5.15 fails #244

Closed
IvarWithoutBones opened this issue Nov 2, 2021 · 9 comments · Fixed by NixOS/nixpkgs#146427
Closed

Compilation against kernel 5.15 fails #244

IvarWithoutBones opened this issue Nov 2, 2021 · 9 comments · Fixed by NixOS/nixpkgs#146427

Comments

@IvarWithoutBones
Copy link
Contributor

IvarWithoutBones commented Nov 2, 2021

Kernel 5.15 removes net/ipx.h, which breaks compilation:

/build/source/core/rtw_br_ext.c:20:11: fatal error: net/ipx.h: No such file or directory
   20 |  #include <net/ipx.h> // https://github.com/tomaspinho/rtl8821ce/blob/897e7c4c15dd5a0a569745dc223d969a26ff5bfc/core/rtw_br_ext.c#L20
      |           ^~~~~~~~~~~

Replacing it with <netipx/ipx.h> from glibc results in the following error:

In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:42:18: error: conflicting types for 'loff_t'
   42 | typedef __loff_t loff_t;
      |                  ^~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:46:26: note: previous declaration of 'loff_t' was here
   46 | typedef __kernel_loff_t  loff_t;
      |                          ^~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:59:17: error: conflicting types for 'dev_t'
   59 | typedef __dev_t dev_t;
      |                 ^~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:16:25: note: previous declaration of 'dev_t' was here
   16 | typedef __kernel_dev_t  dev_t;
      |                         ^~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:74:19: error: conflicting types for 'nlink_t'
   74 | typedef __nlink_t nlink_t;
      |                   ^~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:20:15: note: previous declaration of 'nlink_t' was here
   20 | typedef u32   nlink_t;
      |               ^~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:130,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/bits/types/timer_t.h:7:19: error: conflicting types for 'timer_t'
    7 | typedef __timer_t timer_t;
      |                   ^~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:26:26: note: previous declaration of 'timer_t' was here
   26 | typedef __kernel_timer_t timer_t;
      |                          ^~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:155,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t'
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:109:15: note: previous declaration of 'int64_t' was here
  109 | typedef s64   int64_t;
      |               ^~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:161:20: error: conflicting types for 'u_int64_t'
  161 | typedef __uint64_t u_int64_t;
      |                    ^~~~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:108:15: note: previous declaration of 'u_int64_t' was here
  108 | typedef u64   u_int64_t;
      |               ^~~~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/select.h:33,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:179,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/bits/types/sigset_t.h:7:20: error: conflicting types for 'sigset_t'
    7 | typedef __sigset_t sigset_t;
      |                    ^~~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/uapi/linux/signal.h:5,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/signal_types.h:10,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/signal.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/sched/signal.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/rcuwait.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/percpu-rwsem.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/fs.h:33,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/highmem.h:5,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/bvec.h:10,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:17,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/arch/x86/include/asm/signal.h:25:3: note: previous declaration of 'sigset_t' was here
   25 | } sigset_t;
      |   ^~~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:179,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/select.h:70:5: error: conflicting types for 'fd_set'
   70 |   } fd_set;
      |     ^~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:15:26: note: previous declaration of 'fd_set' was here
   15 | typedef __kernel_fd_set  fd_set;
      |                          ^~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:21,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/sys/types.h:192:20: error: conflicting types for 'blkcnt_t'
  192 | typedef __blkcnt_t blkcnt_t;  /* Type to count number of disk blocks.  */
      |                    ^~~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:126:13: note: previous declaration of 'blkcnt_t' was here
  126 | typedef u64 blkcnt_t;
      |             ^~~~~~~~
In file included from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/stdint.h:37,
                 from /nix/store/a2w3l1m75908yd05a0h40vnrzvxfd0gd-gcc-10.3.0/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/include/stdint.h:9,
                 from /nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/netipx/ipx.h:22,
                 from /build/source/core/rtw_br_ext.c:20:
/nix/store/f1r94qx7a8m8iz7fxvlq655gbawql7xf-glibc-2.33-50-dev/include/bits/stdint-uintn.h:27:20: error: conflicting types for 'uint64_t'
   27 | typedef __uint64_t uint64_t;
      |                    ^~~~~~~~
In file included from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/limits.h:6,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/kernel.h:7,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/skbuff.h:13,
                 from /nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/if_arp.h:22,
                 from /build/source/core/rtw_br_ext.c:18:
/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/include/linux/types.h:107:15: note: previous declaration of 'uint64_t' was here
  107 | typedef u64   uint64_t;
      |               ^~~~~~~~
/build/source/core/rtw_br_ext.c: In function 'nat25_db_handle':
/build/source/core/rtw_br_ext.c:956:42: error: invalid use of undefined type 'struct ipxhdr'
  956 |     if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
      |                                          ^~
/build/source/core/rtw_br_ext.c:981:42: error: invalid use of undefined type 'struct ipxhdr'
  981 |     if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
      |                                          ^~
/build/source/core/rtw_br_ext.c:984:69: error: invalid use of undefined type 'struct ipxhdr'
  984 |      __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock);
      |                                                                     ^~
/build/source/core/rtw_br_ext.c:984:91: error: invalid use of undefined type 'struct ipxhdr'
  984 |      __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock);
      |                                                                                           ^~
/build/source/core/rtw_br_ext.c:987:16: error: invalid use of undefined type 'struct ipxhdr'
  987 |      memcpy(ipx->ipx_source.node, GET_MY_HWADDR(priv), ETH_ALEN);
      |                ^~
/build/source/core/rtw_br_ext.c:989:67: error: invalid use of undefined type 'struct ipxhdr'
  989 |      __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
      |                                                                   ^~
/build/source/core/rtw_br_ext.c:989:88: error: invalid use of undefined type 'struct ipxhdr'
  989 |      __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
      |                                                                                        ^~
/build/source/core/rtw_br_ext.c:998:41: error: invalid use of undefined type 'struct ipxhdr'
  998 |     if (!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN)) {
      |                                         ^~
/build/source/core/rtw_br_ext.c:1001:69: error: invalid use of undefined type 'struct ipxhdr'
 1001 |      __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock);
      |                                                                     ^~
/build/source/core/rtw_br_ext.c:1001:89: error: invalid use of undefined type 'struct ipxhdr'
 1001 |      __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock);
      |                                                                                         ^~
/build/source/core/rtw_br_ext.c:1006:16: error: invalid use of undefined type 'struct ipxhdr'
 1006 |      memcpy(ipx->ipx_dest.node, skb->data, ETH_ALEN);
      |                ^~
/build/source/core/rtw_br_ext.c:1008:67: error: invalid use of undefined type 'struct ipxhdr'
 1008 |      __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node);
      |                                                                   ^~
/build/source/core/rtw_br_ext.c:1008:86: error: invalid use of undefined type 'struct ipxhdr'
 1008 |      __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node);
      |                                                                                      ^~
make[2]: *** [/nix/store/k224cw1j25k962r32di7ilyv3g9n81aj-linux-5.15-dev/lib/modules/5.15.0/source/scripts/Makefile.build:277: /build/source/core/rtw_br_ext.o] Error 1

Kernel 5.14 seems to be the latest one without this issue.

@buboleck
Copy link

buboleck commented Nov 3, 2021

Same on Gentoo with 5.15.

@egnappahz
Copy link

I (dirty) fixed this here:
https://github.com/egnappahz/rtl8821ce.git

I already submitted a merge request to notice the maintainer

@Spixmaster
Copy link

Spixmaster commented Nov 13, 2021

I (dirty) fixed this here: https://github.com/egnappahz/rtl8821ce.git

I already submitted a merge request to notice the maintainer

This works for me without apparent issues so far.

@liberodark
Copy link

Me too is fail for kernel 5.15

../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_rf.c: In function ‘dump_txpwr_lmt’:
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_rf.c:765:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  765 |         if (IS_HARDWARE_TYPE_JAGUAR_AND_JAGUAR2(adapter))
      |         ^~
In file included from /.//build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./include/drv_types.h:60,
                 from ../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_rf.c:17:
/.//build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./include/rtw_debug.h:220:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  220 |         do {\
      |         ^~
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_rf.c:767:17: note: in expansion of macro ‘RTW_PRINT_SEL’
  767 |                 RTW_PRINT_SEL(sel, "txpwr_lmt_5g_20_40_ref:0x%02x\n", rfctl->txpwr_lmt_5g_20_40_ref);
      |                 ^~~~~~~~~~~~~
  CC [M]  /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/rtw_odm.o
  CC [M]  /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/rtw_rm.o
  CC [M]  /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/rtw_rm_fsm.o
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_mlme.c: In function ‘rtw_drv_scan_by_self’:
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_mlme.c:3161:17: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
 3161 |                 else
      |                 ^~~~
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/rtw_mlme.c:3164:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
 3164 |                         goto exit;
      |                         ^~~~
  CC [M]  /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/efuse/rtw_efuse.o
  CC [M]  /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./os_dep/osdep_service.o
/build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/rtw_br_ext.c:20:18: fatal error: net/ipx.h: No such file or directory
   20 |         #include <net/ipx.h>
      |                  ^~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:277: /build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./core/rtw_br_ext.o] Error 1
make[3]: *** Waiting for unfinished jobs....
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/efuse/rtw_efuse.c: In function ‘rtw_efuse_analyze’:
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/efuse/rtw_efuse.c:781:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  781 |                 if (i % 16 == 0)
      |                 ^~
In file included from /.//build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./include/drv_types.h:60,
                 from ../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/efuse/rtw_efuse.c:17:
/.//build/batocera.linux/output/x86_64/build/rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/./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 {\
      |         ^~
../rtl8821ce-f93db734666f75ebf65e44ceb943c19b598b1647/core/efuse/rtw_efuse.c:783:25: note: in expansion of macro ‘_RTW_PRINT_SEL’
  783 |                         _RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s"
      |                         ^~~~~~~~~~~~~~

@GendryC
Copy link

GendryC commented Nov 14, 2021

log file
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/make.log

DKMS make.log for rtl8821ce-v5.5.2_34066.20200325 for kernel 5.15.2-arch1-1 (x86_64)
dom 14 nov 2021 15:56:18 CST
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.15.2-arch1-1/build M=/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build modules
make[1]: se entra en el directorio '/usr/lib/modules/5.15.2-arch1-1/build'
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_cmd.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_security.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_debug.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_io.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ioctl_query.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ioctl_set.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ieee80211.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme_ext.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mi.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_wlan_util.o
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme.c: En la función ‘rtw_drv_scan_by_self’:
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme.c:3161:17: aviso: this ‘else’ clause does not guard... [-Wmisleading-indentation]
3161 | else
| ^~~~
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_mlme.c:3164:25: nota: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
3164 | goto exit;
| ^~~~
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_vht.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_pwrctrl.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_chplan.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_recv.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_sta_mgt.o
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.c: En la función ‘dump_txpwr_lmt’:
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.c:765:9: aviso: this ‘if’ clause does not guard... [-Wmisleading-indentation]
765 | if (IS_HARDWARE_TYPE_JAGUAR_AND_JAGUAR2(adapter))
| ^~
En el fichero incluido desde /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/include/drv_types.h:60,
desde /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.c:17:
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/include/rtw_debug.h:220:9: nota: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
220 | do {
| ^~
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rf.c:767:17: nota: en expansión de macro ‘RTW_PRINT_SEL’
767 | RTW_PRINT_SEL(sel, "txpwr_lmt_5g_20_40_ref:0x%02x\n", rfctl->txpwr_lmt_5g_20_40_ref);
| ^~~~~~~~~~~~~
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_ap.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh_pathtbl.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/mesh/rtw_mesh_hwmp.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_xmit.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_p2p.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_rson.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_tdls.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_br_ext.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_iol.o
CC [M] /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_sreset.o
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_br_ext.c:20:18: error fatal: net/ipx.h: No existe el fichero o el directorio
20 | #include <net/ipx.h>
| ^~~~~~~~~~~
compilación terminada.
make[2]: *** [scripts/Makefile.build:277: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build/core/rtw_br_ext.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
make[1]: *** [Makefile:1868: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/build] Error 2
make[1]: se sale del directorio '/usr/lib/modules/5.15.2-arch1-1/build'
make: *** [Makefile:2244: modules] Error 2

@vini-fda
Copy link

I (dirty) fixed this here: https://github.com/egnappahz/rtl8821ce.git

I already submitted a merge request to notice the maintainer

I can also confirm this works for me, without any issues AFAIK. I'm on 5.15.2-arch1-1.

@archkatze
Copy link

archkatze commented Nov 18, 2021

This patch should work: https://www.spinics.net/lists/kernel/msg4044646.html

@tomaspinho
Copy link
Owner

Fix is now in master.

IvarWithoutBones added a commit to IvarWithoutBones/nixpkgs that referenced this issue Nov 21, 2021
This fixes tomaspinho/rtl8821ce#244, making compilation with Linux kernel 5.15+ succeed.
@IvarWithoutBones
Copy link
Contributor Author

Can confirm this work perfectly, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants