automatic DPDK test reports
 help / color / mirror / Atom feed
From: sys_stv@intel.com
To: test-report@dpdk.org, stephen@networkplumber.org
Subject: compilation|FAILURE| pw(156139) sid(35999) job(PER_PATCH_BUILD16494)[v2, 43/43] eal: remove no longer used windows version of sys/queue.h
Date: 25 Aug 2025 16:07:46 -0700	[thread overview]
Message-ID: <834f95$51fuuc@fmviesa006-auth.fm.intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 107204 bytes --]


Test-Label: Intel-compilation
Test-Status: FAILURE
http://dpdk.org/patch/156139

_Compilation issues_

Submitter: Stephen Hemminger <stephen@networkplumber.org>
Date: 2025-08-25 03:38:56
Reply_mail: <20250825034126.12046-44-stephen@networkplumber.org>

DPDK git baseline: Repo:dpdk, CommitID: 38543d33bd47fc0ee21f59db80a8763620741879


Meson Build Summary: 23 Builds Done, 19 Successful, 4 Failures, 0 Blocked

+-------------------+------------+--------------+------------+------------+-----------+----------+------------+
| os                | gcc-static | clang-static | icc-static | gcc-shared | gcc-debug | document | gcc-16byte |
+-------------------+------------+--------------+------------+------------+-----------+----------+------------+
| OpenAnolis8.10-64 | pass       |              |            |            |           |          |            |
| FreeBSD14-64      | fail       | fail         |            | fail       | fail      |          |            |
| RHEL96-64         | pass       | pass         |            | pass       | pass      |          |            |
| SUSE15-64         | pass       | pass         |            |            |           |          |            |
| AzureLinux3.0-64  | pass       |              |            |            |           |          |            |
| UB2404-32         | pass       |              |            |            |           |          |            |
| RHEL10-64         | pass       |              |            |            |           |          |            |
| UB2404-64         | pass       | pass         |            |            |           | pass     | pass       |
| RHEL96-64RT       | pass       |              |            |            |           |          |            |
| UB2504-64         | pass       |              |            |            |           |          |            |
| FC42-64           | pass       | pass         |            |            |           |          |            |
| UB2404-64RT       | pass       |              |            |            |           |          |            |
+-------------------+------------+--------------+------------+------------+-----------+----------+------------+

Comments: 
Because of DPDK bug (https://bugs.dpdk.org/show_bug.cgi?id=928),
All the dpdk-next-* branch add `Ddisable_drivers=event/cnxk` option when build with ICC complier. 
 
Test environment and configuration as below:


OS: OpenAnolis8.10-64
	Kernel Version: 5.10.134-18.an8.x86_64
	GCC Version: gcc (GCC) 8.5.0 20210514 (Anolis 8.5.0-24.0.1)
	Clang Version: 18.1.8 (Red Hat 18.1.8-1.0.1.module+an8.9.0+11287+9d0292d3)
	x86_64-native-linuxapp-gcc

OS: FreeBSD14-64
	Kernel Version: 14.2-RELEASE
	GCC Version: gcc (FreeBSD Ports Collection) 13.3.0
	Clang Version: 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)
	x86_64-native-bsdapp-gcc
	x86_64-native-bsdapp-clang
	x86_64-native-bsdapp-gcc+shared
	x86_64-native-bsdapp-gcc+debug

OS: RHEL96-64
	Kernel Version: 5.14.0-570.12.1.el9_6.x86_64
	GCC Version: gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5)
	Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el9)
	x86_64-native-linuxapp-gcc
	x86_64-native-linuxapp-clang
	x86_64-native-linuxapp-gcc+shared
	x86_64-native-linuxapp-gcc+debug

OS: SUSE15-64
	Kernel Version: 6.4.0-150700.51-default
	GCC Version: gcc (SUSE Linux) 14.2.0
	Clang Version: 17.0.6
	x86_64-native-linuxapp-clang
	x86_64-native-linuxapp-gcc

OS: AzureLinux3.0-64
	Kernel Version: 6.6.47.1-1.azl3
	GCC Version: gcc (GCC) 13.2.0
	Clang Version: 18.1.2
	x86_64-native-linuxapp-gcc

OS: UB2404-32
	Kernel Version: 6.8.0-41-generic
	GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
	Clang Version: NA
	i686-native-linuxapp-gcc

OS: RHEL10-64
	Kernel Version: 6.12.0-55.9.1.el10_0.x86_64
	GCC Version: gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
	Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el10)
	x86_64-native-linuxapp-gcc

OS: UB2404-64
	Kernel Version: 6.8.0-41-generic
	GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
	Clang Version: NA
	x86_64-native-linuxapp-gcc+16byte
	x86_64-native-linuxapp-gcc
	x86_64-native-linuxapp-clang
	x86_64-native-linuxapp-doc

OS: RHEL96-64RT
	Kernel Version: 5.14.0-570.12.1.el9_6.x86_64
	GCC Version: gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5)
	Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el9)
	x86_64-native-linuxapp-gcc

OS: UB2504-64
	Kernel Version: 6.14.0-15-generic
	GCC Version: gcc (Ubuntu 14.2.0-19ubuntu2) 14.2.0
	Clang Version: NA
	x86_64-native-linuxapp-gcc

OS: FC42-64
	Kernel Version: 6.14.0-63.fc42.x86_64
	GCC Version: gcc (GCC) 15.0.1 20250329 (Red Hat 15.0.1-0)
	Clang Version: 20.1.3 (Fedora 20.1.3-1.fc42)
	x86_64-native-linuxapp-gcc
	x86_64-native-linuxapp-clang

OS: UB2404-64RT
	Kernel Version: 6.8.0-rt8
	GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
	Clang Version: NA
	x86_64-native-linuxapp-gcc



*Build Failed #1:
OS: FreeBSD14-64
Target: x86_64-native-bsdapp-gcc
FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c
In file included from ../lib/table/rte_swx_table_em.h:13,
                 from ../lib/table/rte_swx_table_em.c:15:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_install':
../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key'
  164 |         keycpy(bkt_key, input->key, t->params.key_size);
      |                              ^~
../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  168 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  169 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  170 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update':
../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  187 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  188 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  189 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'table_add':
../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  310 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  312 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  320 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: In function 'table_del':
../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  367 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  369 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  377 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  606 |              struct rte_swx_table_entry_list *entries,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function)
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  638 |                 struct rte_swx_table_entry_list *entries __rte_unused,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  653 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get')
../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  655 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create')
../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  664 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get')
../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  666 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create')
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type]
  634 | }
      | ^
cc1: all warnings being treated as errors
[486/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c
In file included from ../lib/table/rte_swx_table_selector.h:18,
                 from ../lib/table/rte_swx_table_selector.c:12:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror]
   68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type
   73 |         struct rte_swx_table_selector_member_list members;
      |                                                   ^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function)
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable]
  322 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter]
  319 | group_check(struct table *t, struct rte_swx_table_selector_group *group)
      |             ~~~~~~~~~~~~~~^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function)
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable]
  360 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter]
  356 | members_read(struct group_member_info *members,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type]
  353 | }
      | ^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type]
  378 | }
      | ^
cc1: all warnings being treated as errors
[487/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_wm.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c
In file included from ../lib/table/rte_swx_table_wm.h:13,
                 from ../lib/table/rte_swx_table_wm.c:13:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:67:22: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   67 | count_entries(struct rte_swx_table_entry_list *entries)
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'count_entries':
../lib/table/rte_swx_table_wm.c:75:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
   75 |         TAILQ_FOREACH(entry, entries, node)
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:75:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_wm.c:75:39: error: 'node' undeclared (first use in this function)
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:75:39: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_wm.c:75:44: error: expected ';' before 'n_entries'
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                            ^
      |                                            ;
   76 |                 n_entries++;
      |                 ~~~~~~~~~                   
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:182:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  182 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get':
../lib/table/rte_swx_table_wm.c:199:39: error: 'node' undeclared (first use in this function)
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:199:44: error: expected ';' before '{' token
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_wm.c:189:18: error: variable 'rule_id' set but not used [-Werror=unused-but-set-variable]
  189 |         uint32_t rule_id;
      |                  ^~~~~~~
../lib/table/rte_swx_table_wm.c:188:18: error: unused variable 'n_fields' [-Werror=unused-variable]
  188 |         uint32_t n_fields = acl_cfg->num_fields;
      |                  ^~~~~~~~
../lib/table/rte_swx_table_wm.c:181:38: error: unused parameter 'p' [-Werror=unused-parameter]
  181 |         struct rte_swx_table_params *p,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:277:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  277 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'acl_table_create':
../lib/table/rte_swx_table_wm.c:300:55: error: passing argument 3 of 'acl_table_rules_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
  300 |                 acl_table_rules_get(&acl_cfg, params, entries, n_entries) :
      |                                                       ^~~~~~~
      |                                                       |
      |                                                       struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:182:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  182 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:342:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  342 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'entry_data_copy':
../lib/table/rte_swx_table_wm.c:352:39: error: 'node' undeclared (first use in this function)
  352 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:352:44: error: expected ';' before '{' token
  352 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_wm.c:347:18: error: unused variable 'i' [-Werror=unused-variable]
  347 |         uint32_t i = 0;
      |                  ^
../lib/table/rte_swx_table_wm.c:341:26: error: unused parameter 'data' [-Werror=unused-parameter]
  341 | entry_data_copy(uint8_t *data,
      |                 ~~~~~~~~~^~~~
../lib/table/rte_swx_table_wm.c:344:18: error: unused parameter 'entry_data_size' [-Werror=unused-parameter]
  344 |         uint32_t entry_data_size)
      |         ~~~~~~~~~^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:383:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  383 |              struct rte_swx_table_entry_list *entries,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'table_create':
../lib/table/rte_swx_table_wm.c:390:44: error: passing argument 1 of 'count_entries' from incompatible pointer type [-Werror=incompatible-pointer-types]
  390 |         uint32_t n_entries = count_entries(entries);
      |                                            ^~~~~~~
      |                                            |
      |                                            struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:67:48: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
   67 | count_entries(struct rte_swx_table_entry_list *entries)
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c:411:47: error: passing argument 2 of 'acl_table_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
  411 |         t->acl_ctx = acl_table_create(params, entries, n_entries, numa_node);
      |                                               ^~~~~~~
      |                                               |
      |                                               struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:277:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  277 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c:415:34: error: passing argument 2 of 'entry_data_copy' from incompatible pointer type [-Werror=incompatible-pointer-types]
  415 |         entry_data_copy(t->data, entries, n_entries, entry_data_size);
      |                                  ^~~~~~~
      |                                  |
      |                                  struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:342:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  342 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:465:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  465 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:465:19: note: (near initialization for 'rte_swx_table_wildcard_match_ops.create')
../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get':
../lib/table/rte_swx_table_wm.c:247:1: error: control reaches end of non-void function [-Werror=return-type]
  247 | }
      | ^
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:141:1: error: 'acl_table_rule_field32' defined but not used [-Werror=unused-function]
  141 | acl_table_rule_field32(uint32_t *value,
      | ^~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:124:1: error: 'acl_table_rule_field8' defined but not used [-Werror=unused-function]
  124 | acl_table_rule_field8(uint8_t *value,
      | ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[488/2273] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols
[489/2273] Compiling C object lib/librte_table.a.p/table_rte_table_array.c.o
[490/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o
[491/2273] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output)
[492/2273] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o
[493/2273] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o
[494/2273] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o
ninja: build stopped




*Build Failed #2:
OS: FreeBSD14-64
Target: x86_64-native-bsdapp-clang
FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o 
clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c
In file included from ../lib/table/rte_swx_table_em.c:15:
In file included from ../lib/table/rte_swx_table_em.h:13:
../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^
../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                         ^
../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                                             ^
      |                                             ;
../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^
      | int
../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      |                ^
../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^
../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^
../lib/table/rte_swx_table_em.c:606:14: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  606 |              struct rte_swx_table_entry_list *entries,
      |                     ^
../lib/table/rte_swx_table_em.c:623:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^
../lib/table/rte_swx_table_em.c:623:37: error: expected ';' after expression
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^
      |                                            ;
../lib/table/rte_swx_table_em.c:623:32: error: use of undeclared identifier 'node'
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^
../lib/table/rte_swx_table_em.c:638:10: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  638 |                 struct rte_swx_table_entry_list *entries __rte_unused,
      |                        ^
../lib/table/rte_swx_table_em.c:653:19: error: incompatible function pointer types initializing 'rte_swx_table_footprint_get_t' (aka 'unsigned long (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') with an expression of type 'uint64_t (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' (aka 'unsigned long (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') [-Wincompatible-function-pointer-types]
  653 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:655:12: error: incompatible function pointer types initializing 'rte_swx_table_create_t' (aka 'void *(*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)') with an expression of type 'void *(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Wincompatible-function-pointer-types]
  655 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:664:19: error: incompatible function pointer types initializing 'rte_swx_table_footprint_get_t' (aka 'unsigned long (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') with an expression of type 'uint64_t (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' (aka 'unsigned long (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') [-Wincompatible-function-pointer-types]
  664 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:666:12: error: incompatible function pointer types initializing 'rte_swx_table_create_t' (aka 'void *(*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)') with an expression of type 'void *(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Wincompatible-function-pointer-types]
  666 |         .create = table_create,
      |                   ^~~~~~~~~~~~
16 errors generated.
[495/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o 
clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c
In file included from ../lib/table/rte_swx_table_selector.c:12:
In file included from ../lib/table/rte_swx_table_selector.h:18:
../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^
../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                         ^
../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                                             ^
      |                                             ;
../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^
      | int
../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      |                ^
../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^
../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^
In file included from ../lib/table/rte_swx_table_selector.c:12:
../lib/table/rte_swx_table_selector.h:58:2: error: type name requires a specifier or qualifier
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |         ^
../lib/table/rte_swx_table_selector.h:58:18: error: a parameter list without types is only allowed in a function definition
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |                         ^
../lib/table/rte_swx_table_selector.h:58:48: error: expected ';' at end of declaration list
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |                                                       ^
      |                                                       ;
../lib/table/rte_swx_table_selector.h:68:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
   68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member);
      | ^
      | int
../lib/table/rte_swx_table_selector.h:68:16: error: a parameter list without types is only allowed in a function definition
   68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member);
      |                ^
../lib/table/rte_swx_table_selector.h:73:44: error: field has incomplete type 'struct rte_swx_table_selector_member_list'
   73 |         struct rte_swx_table_selector_member_list members;
      |                                                   ^
../lib/table/rte_swx_table_selector.h:73:9: note: forward declaration of 'struct rte_swx_table_selector_member_list'
   73 |         struct rte_swx_table_selector_member_list members;
      |                ^
../lib/table/rte_swx_table_selector.c:327:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |         ^
../lib/table/rte_swx_table_selector.c:327:44: error: expected ';' after expression
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^
      |                                                   ;
../lib/table/rte_swx_table_selector.c:327:39: error: use of undeclared identifier 'node'
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^
../lib/table/rte_swx_table_selector.c:341:42: error: expected ';' after expression
  341 |                 TAILQ_FOREACH(e, &group->members, node)
      |                                                        ^
      |                                                        ;
../lib/table/rte_swx_table_selector.c:341:37: error: use of undeclared identifier 'node'
  341 |                 TAILQ_FOREACH(e, &group->members, node)
      |                                                   ^
../lib/table/rte_swx_table_selector.c:365:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[496/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_wm.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o 
clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c
In file included from ../lib/table/rte_swx_table_wm.c:13:
In file included from ../lib/table/rte_swx_table_wm.h:13:
../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^
../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                         ^
../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |                                             ^
      |                                             ;
../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^
      | int
../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      |                ^
../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^
../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^
../lib/table/rte_swx_table_wm.c:67:22: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
   67 | count_entries(struct rte_swx_table_entry_list *entries)
      |                      ^
../lib/table/rte_swx_table_wm.c:75:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
   75 |         TAILQ_FOREACH(entry, entries, node)
      |         ^
../lib/table/rte_swx_table_wm.c:75:37: error: expected ';' after expression
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                            ^
      |                                            ;
../lib/table/rte_swx_table_wm.c:75:32: error: use of undeclared identifier 'node'
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                       ^
../lib/table/rte_swx_table_wm.c:182:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  182 |         struct rte_swx_table_entry_list *entries,
      |                ^
../lib/table/rte_swx_table_wm.c:199:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^
../lib/table/rte_swx_table_wm.c:199:37: error: expected ';' after expression
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^
      |                                            ;
../lib/table/rte_swx_table_wm.c:199:32: error: use of undeclared identifier 'node'
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^
../lib/table/rte_swx_table_wm.c:277:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  277 |         struct rte_swx_table_entry_list *entries,
      |                ^
../lib/table/rte_swx_table_wm.c:300:41: error: incompatible pointer types passing 'struct rte_swx_table_entry_list *' to parameter of type 'struct rte_swx_table_entry_list *' [-Werror,-Wincompatible-pointer-types]
  300 |                 acl_table_rules_get(&acl_cfg, params, entries, n_entries) :
      |                                                       ^~~~~~~
../lib/table/rte_swx_table_wm.c:182:35: note: passing argument to parameter 'entries' here
  182 |         struct rte_swx_table_entry_list *entries,
      |                                          ^
../lib/table/rte_swx_table_wm.c:342:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility]
  342 |         struct rte_swx_table_entry_list *entries,
      |                ^
../lib/table/rte_swx_table_wm.c:352:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
  352 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[497/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o
[498/2255] Compiling C object lib/librte_table.a.p/table_rte_table_array.c.o
[499/2255] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o
[500/2255] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output)
[501/2255] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o
[502/2255] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o
[503/2255] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols
ninja: build stopped




*Build Failed #3:
OS: FreeBSD14-64
Target: x86_64-native-bsdapp-gcc+shared
FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c
In file included from ../lib/table/rte_swx_table_selector.h:18,
                 from ../lib/table/rte_swx_table_selector.c:12:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror]
   68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type
   73 |         struct rte_swx_table_selector_member_list members;
      |                                                   ^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function)
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable]
  322 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter]
  319 | group_check(struct table *t, struct rte_swx_table_selector_group *group)
      |             ~~~~~~~~~~~~~~^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function)
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable]
  360 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter]
  356 | members_read(struct group_member_info *members,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type]
  353 | }
      | ^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type]
  378 | }
      | ^
cc1: all warnings being treated as errors
[495/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_table_em.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c
In file included from ../lib/table/rte_swx_table_em.h:13,
                 from ../lib/table/rte_swx_table_em.c:15:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_install':
../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key'
  164 |         keycpy(bkt_key, input->key, t->params.key_size);
      |                              ^~
../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  168 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  169 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  170 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update':
../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  187 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  188 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  189 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'table_add':
../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  310 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  312 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  320 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: In function 'table_del':
../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  367 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  369 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  377 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  606 |              struct rte_swx_table_entry_list *entries,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function)
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  638 |                 struct rte_swx_table_entry_list *entries __rte_unused,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  653 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get')
../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  655 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create')
../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  664 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get')
../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  666 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create')
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type]
  634 | }
      | ^
cc1: all warnings being treated as errors
[496/2125] Compiling C object lib/librte_port.a.p/port_rte_swx_port_ring.c.o
[497/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o
[498/2125] Compiling C object lib/librte_port.a.p/port_rte_swx_port_source_sink.c.o
[499/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_keycmp.c.o
[500/2125] Compiling C object lib/librte_port.a.p/port_rte_port_ring.c.o
[501/2125] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols
[502/2125] Generating symbol file lib/librte_pdcp.so.26.0.p/librte_pdcp.so.26.0.symbols
[503/2125] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o
ninja: build stopped




*Build Failed #4:
OS: FreeBSD14-64
Target: x86_64-native-bsdapp-gcc+debug
FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c
In file included from ../lib/table/rte_swx_table_wm.h:13,
                 from ../lib/table/rte_swx_table_wm.c:13:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:67:22: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   67 | count_entries(struct rte_swx_table_entry_list *entries)
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'count_entries':
../lib/table/rte_swx_table_wm.c:75:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
   75 |         TAILQ_FOREACH(entry, entries, node)
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:75:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_wm.c:75:39: error: 'node' undeclared (first use in this function)
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:75:39: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_wm.c:75:44: error: expected ';' before 'n_entries'
   75 |         TAILQ_FOREACH(entry, entries, node)
      |                                            ^
      |                                            ;
   76 |                 n_entries++;
      |                 ~~~~~~~~~                   
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:182:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  182 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get':
../lib/table/rte_swx_table_wm.c:199:39: error: 'node' undeclared (first use in this function)
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:199:44: error: expected ';' before '{' token
  199 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_wm.c:189:18: error: variable 'rule_id' set but not used [-Werror=unused-but-set-variable]
  189 |         uint32_t rule_id;
      |                  ^~~~~~~
../lib/table/rte_swx_table_wm.c:188:18: error: unused variable 'n_fields' [-Werror=unused-variable]
  188 |         uint32_t n_fields = acl_cfg->num_fields;
      |                  ^~~~~~~~
../lib/table/rte_swx_table_wm.c:181:38: error: unused parameter 'p' [-Werror=unused-parameter]
  181 |         struct rte_swx_table_params *p,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:277:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  277 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'acl_table_create':
../lib/table/rte_swx_table_wm.c:300:55: error: passing argument 3 of 'acl_table_rules_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
  300 |                 acl_table_rules_get(&acl_cfg, params, entries, n_entries) :
      |                                                       ^~~~~~~
      |                                                       |
      |                                                       struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:182:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  182 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:342:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  342 |         struct rte_swx_table_entry_list *entries,
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'entry_data_copy':
../lib/table/rte_swx_table_wm.c:352:39: error: 'node' undeclared (first use in this function)
  352 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_wm.c:352:44: error: expected ';' before '{' token
  352 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_wm.c:347:18: error: unused variable 'i' [-Werror=unused-variable]
  347 |         uint32_t i = 0;
      |                  ^
../lib/table/rte_swx_table_wm.c:341:26: error: unused parameter 'data' [-Werror=unused-parameter]
  341 | entry_data_copy(uint8_t *data,
      |                 ~~~~~~~~~^~~~
../lib/table/rte_swx_table_wm.c:344:18: error: unused parameter 'entry_data_size' [-Werror=unused-parameter]
  344 |         uint32_t entry_data_size)
      |         ~~~~~~~~~^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:383:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  383 |              struct rte_swx_table_entry_list *entries,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c: In function 'table_create':
../lib/table/rte_swx_table_wm.c:390:44: error: passing argument 1 of 'count_entries' from incompatible pointer type [-Werror=incompatible-pointer-types]
  390 |         uint32_t n_entries = count_entries(entries);
      |                                            ^~~~~~~
      |                                            |
      |                                            struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:67:48: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
   67 | count_entries(struct rte_swx_table_entry_list *entries)
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c:411:47: error: passing argument 2 of 'acl_table_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
  411 |         t->acl_ctx = acl_table_create(params, entries, n_entries, numa_node);
      |                                               ^~~~~~~
      |                                               |
      |                                               struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:277:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  277 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c:415:34: error: passing argument 2 of 'entry_data_copy' from incompatible pointer type [-Werror=incompatible-pointer-types]
  415 |         entry_data_copy(t->data, entries, n_entries, entry_data_size);
      |                                  ^~~~~~~
      |                                  |
      |                                  struct rte_swx_table_entry_list *
../lib/table/rte_swx_table_wm.c:342:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *'
  342 |         struct rte_swx_table_entry_list *entries,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:465:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  465 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:465:19: note: (near initialization for 'rte_swx_table_wildcard_match_ops.create')
../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get':
../lib/table/rte_swx_table_wm.c:247:1: error: control reaches end of non-void function [-Werror=return-type]
  247 | }
      | ^
../lib/table/rte_swx_table_wm.c: At top level:
../lib/table/rte_swx_table_wm.c:141:1: error: 'acl_table_rule_field32' defined but not used [-Werror=unused-function]
  141 | acl_table_rule_field32(uint32_t *value,
      | ^~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_wm.c:124:1: error: 'acl_table_rule_field8' defined but not used [-Werror=unused-function]
  124 | acl_table_rule_field8(uint8_t *value,
      | ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[488/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c
In file included from ../lib/table/rte_swx_table_selector.h:18,
                 from ../lib/table/rte_swx_table_selector.c:12:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   58 |         RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror]
   68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type
   73 |         struct rte_swx_table_selector_member_list members;
      |                                                   ^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function)
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token
  327 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable]
  322 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter]
  319 | group_check(struct table *t, struct rte_swx_table_selector_group *group)
      |             ~~~~~~~~~~~~~~^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function)
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                              ^~~~
../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token
  365 |         TAILQ_FOREACH(elem, &group->members, node) {
      |                                                   ^~
      |                                                   ;
../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable]
  360 |         uint32_t n_members = 0;
      |                  ^~~~~~~~~
../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter]
  356 | members_read(struct group_member_info *members,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../lib/table/rte_swx_table_selector.c: In function 'group_check':
../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type]
  353 | }
      | ^
../lib/table/rte_swx_table_selector.c: In function 'members_read':
../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type]
  378 | }
      | ^
cc1: all warnings being treated as errors
[489/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_em.c.o
FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o 
gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c
In file included from ../lib/table/rte_swx_table_em.h:13,
                 from ../lib/table/rte_swx_table_em.c:15:
../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY'
   76 |         RTE_TAILQ_ENTRY(rte_swx_table_entry) node;
      |         ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror]
  119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry);
      | ^~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int]
../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror]
../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  135 |                                  struct rte_swx_table_entry_list *entries,
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  167 |                           struct rte_swx_table_entry_list *entries,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_install':
../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key'
  164 |         keycpy(bkt_key, input->key, t->params.key_size);
      |                              ^~
../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  168 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  169 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  170 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update':
../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id'
  187 |         bkt_data[0] = input->action_id;
      |                            ^~
../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  188 |         if (t->params.action_data_size && input->action_data)
      |                                                ^~
../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data'
  189 |                 memcpy(&bkt_data[1], input->action_data, t->params.action_data_size);
      |                                           ^~
../lib/table/rte_swx_table_em.c: In function 'table_add':
../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  310 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  312 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  320 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: In function 'table_del':
../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key'
  367 |         CHECK(entry->key, EINVAL);
      |                    ^~
../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK'
   19 |         if (!(condition))                                                      \
      |               ^~~~~~~~~
../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key'
  369 |         input_sig = t->params.hash_func(entry->key, t->params.key_size, 0);
      |                                              ^~
../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key'
  377 |                         if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) {
      |                                                     ^~
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  606 |              struct rte_swx_table_entry_list *entries,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration]
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |         ^~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs]
../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function)
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                       ^~~~
../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in
../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token
  623 |         TAILQ_FOREACH(entry, entries, node) {
      |                                            ^~
      |                                            ;
../lib/table/rte_swx_table_em.c: At top level:
../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
  638 |                 struct rte_swx_table_entry_list *entries __rte_unused,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  653 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get')
../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  655 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create')
../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types]
  664 |         .footprint_get = table_footprint,
      |                          ^~~~~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get')
../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types]
  666 |         .create = table_create,
      |                   ^~~~~~~~~~~~
../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create')
../lib/table/rte_swx_table_em.c: In function 'table_create':
../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type]
  634 | }
      | ^
cc1: all warnings being treated as errors
[490/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o
[491/2236] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o
[492/2236] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output)
[493/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o
[494/2236] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o
[495/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_ext.c.o
[496/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_key8.c.o
ninja: build stopped


DPDK STV team

                 reply	other threads:[~2025-08-25 23:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='834f95$51fuuc@fmviesa006-auth.fm.intel.com' \
    --to=sys_stv@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=test-report@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).