Suricata compile error dpdk bonding

RH 8
Suricata git master branch 7.0.2-dev
dpdk DPDK 23.11.0-rc0

CC util-dpdk-ixgbe.o
CC util-dpdk-bonding.o
util-dpdk-bonding.c: In function ‘BondingMemberDevicesGet’:
util-dpdk-bonding.c:57:19: error: implicit declaration of function ‘rte_eth_bond_slaves_get’; did you mean ‘rte_eth_bond_members_get’? [-Werror=implicit-function-declaration]
int32_t len = rte_eth_bond_slaves_get(bond_pid, bonded_devs, bonded_devs_length);
^~~~~~~~~~~~~~~~~~~~~~~
rte_eth_bond_members_get
cc1: some warnings being treated as errors
make[2]: *** [Makefile:3482: util-dpdk-bonding.o] Error 1
make[2]: Leaving directory ‘/data/software/suricata/suricata/src’
make[1]: *** [Makefile:2681: all] Error 2
make[1]: Leaving directory ‘/data/software/suricata/suricata/src’
make: *** [Makefile:490: all-recursive] Error 1

Ah thanks, good catch, the API must have been changed to use more inclusive naming.
I’ll create a Redmine ticket for that.

1 Like

Thanks, for now running suricata 7.0.2-dev (915707090 2023-10-03) with DPDK 23.07.0 .
With latest DPDK 23.11.0-rc0 git pull unable to compile suricata and also unable to run previous compiled suricata: /usr/bin/suricata: symbol lookup error: /usr/bin/suricata: undefined symbol: rte_eth_bond_slaves_get, version DPDK_24

The issue is tracked by

and the fix is here: