kernel/linux/kni meson build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6
[email protected]
Reviewed-by Andrew Rybchenkohttps://bugs.dpdk.org/show_bug.cgi?id=1025
Bug ID: 1025
Summary: [dpdk 22.07/dpdk-next-net] kernel/linux/kni meson
build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: critical
Priority: Normal
Component: core
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
[Dpdk version]
dpdk branch: fb96caa56aabaa425ae66cd638ce9b9065828044
[OS version]
OS: FC36-64
Kernel Version: 5.17.7-300.fc36.x86_64
GCC Version: gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1)
Clang Version: 14.0.0 (Fedora 14.0.0-1.fc36)OS: RHEL86-64
Kernel Version: 4.18.0-372.9.1.el8.x86_64
GCC Version: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-13)
Clang Version: 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54)OS: SUSE15-64
Kernel Version: 5.3.18-57-default
GCC Version: gcc (SUSE Linux) 7.5.0
Clang Version: 11.0.1OS: UB2004-64
Kernel Version: 5.8.0-48-generic
GCC Version: gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
Clang Version: 10.0.0-4ubuntu1OS: UB2204-64
Kernel Version: 5.15.0-25-generic
GCC Version: gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0OS: CentOS79-64
Kernel Version: 3.10.0-1160.el7.x86_64
GCC Version: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)[Test Setup]
# meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=static gcc-linux-app
# ninja -C gcc-linux-app
[log]
[3506/3587] Generating kernel/linux/kni/rte_kni with a custom command
FAILED: kernel/linux/kni/rte_kni.ko/usr/bin/make -j4 -C /lib/modules/5.15.0-25-generic/build M=/tmp/dpdk/gcc-linux-app/kernel/linux/kni src=/tmp/dpdk/kernel/linux/kni 'MODULE_CFLAGS= -include /tmp/dpdk/config/rte_config.h -I/tmp/dpdk/lib/eal/include -I/tmp/dpdk/lib/kni -I/tmp/dpdk/gcc-linux-app -I/tmp/dpdk/kernel/linux/kni' modules
make: Entering directory '/usr/src/linux-headers-5.15.0-25-generic'
CC [M] /tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_misc.o CC [M] /tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_net.o/tmp/dpdk/kernel/linux/kni/kni_net.c: In function ‘kni_net_rx_normal’:/tmp/dpdk/kernel/linux/kni/kni_net.c:448:2: error: #else after #else
448 | #else
| ^~~~
/tmp/dpdk/kernel/linux/kni/kni_net.c:444: error: the conditional began here
444 | #ifdef HAVE_NETIF_RX_NI
|
/tmp/dpdk/kernel/linux/kni/kni_net.c:444: error: unterminated #else
/tmp/dpdk/kernel/linux/kni/kni_net.c:445:17: error: expected declaration or
statement at end of input
445 | netif_rx_ni(skb);
| ^~~~~~~~~~~/tmp/dpdk/kernel/linux/kni/kni_net.c:445:17: error: expected declaration or statement at end of input /tmp/dpdk/kernel/linux/kni/kni_net.c:382:18: warning: unused variable ‘ret’ [-Wunused-variable]
382 | uint32_t ret;
| ^~~
At top level:/tmp/dpdk/kernel/linux/kni/kni_net.c:297:1: warning: ‘kni_net_tx’ defined but not used [-Wunused-function]
297 | kni_net_tx(struct sk_buff *skb, struct net_device *dev)
| ^~~~~~~~~~
/tmp/dpdk/kernel/linux/kni/kni_net.c:284:1: warning: ‘kni_net_config’ defined
but not used [-Wunused-function]
284 | kni_net_config(struct net_device *dev, struct ifmap *map)
| ^~~~~~~~~~~~~~
/tmp/dpdk/kernel/linux/kni/kni_net.c:202:1: warning: ‘kni_net_release’ defined
but not used [-Wunused-function]
202 | kni_net_release(struct net_device *dev)
| ^~~~~~~~~~~~~~~
/tmp/dpdk/kernel/linux/kni/kni_net.c:180:1: warning: ‘kni_net_open’ defined but
not used [-Wunused-function]
180 | kni_net_open(struct net_device *dev)
| ^~~~~~~~~~~~
/tmp/dpdk/kernel/linux/kni/kni_net.c:38:21: warning: ‘kni_net_rx_func’ defined
but not used [-Wunused-variable]
38 | static kni_net_rx_t kni_net_rx_func = kni_net_rx_normal;
| ^~~~~~~~~~~~~~~make[1]: *** [scripts/Makefile.build:285:/tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_net.o] Error 1 make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1875: /tmp/dpdk/gcc-linux-app/kernel/linux/kni] Error 2
make: Leaving directory '/usr/src/linux-headers-5.15.0-25-generic' [3513/3587] Compiling C object app/test/dpdk-test.p/test_ring.c.o
ninja: build stopped: subcommand failed.
[bad commit]
commit c98600d4bed6d15599e448990f2ba117ca938a2d
Author: Jiri Slaby <[email protected]> Date: Wed Jun 1 08:53:58 2022 +0200
kni: fix build with Linux 5.18
Since commit 2655926aea9b (net: Remove netif_rx_any_context() and netif_rx_ni().) in 5.18, netif_rx_ni() no longer exists as netif_rx() can be called from any context. So define HAVE_NETIF_RX_NI for older releases and call the appropriate function in kni_net.
netif_rx_ni() must be used on older kernel since netif_rx() might might lead to deadlocks or other problems there.
kernel/linux/kni/compat.h | 4 ++++ kernel/linux/kni/kni_net.c | 4 ++++ 2 files changed, 8 insertions(+)
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
https://bugs.dpdk.org/show_bug.cgi?id=1025
Thomas Monjalon ([email protected]) changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
CC| |[email protected]
Status|IN_PROGRESS |RESOLVED--- Comment #5 from Thomas Monjalon ([email protected]) --- I didn't receive your patch,
but I had done one which is already pushed:
https://git.dpdk.org/dpdk/commit/?id=327ef506599
By the way, I would like to understand what happened. You did not test the compilation before sending the patch?
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.