Suricata compilation problem with DPDK on ARM platform

Hi Lukas
I do not want to replace the Autotools build system with Meson/Ninja build system.

My issue is that: on my ARM DPDK, it looks like the linking step of an executable that use DPDK seem to need a specific option set provided to gcc during linking. This option looks like “-Wl,–start-group [many DPDK-related *.a files] -Wl,–end-group”.
I actually checked that this option is needed using a small C tool that lists DPDK interfaces. During linking, if I do not use this option with gcc, the tool cannot find my interface. But, if I use this option with gcc, the tool finds my interface.

As I said above, I tried to provide a LDFLAGS=“-Wl,–start-group [many DPDK-related *.a files] -Wl,–end-group” to .configure. When compiling Suricata, the libtool command which builds .libs/suricata (which is the file that is installed later on) however uses a a command that looks like “-Wl,–start-group […] -Wl,–end-group […] -Wl,–as-needed -L[many DPDK-related *.a files]”. I can provide log files for these two steps.
If I manually link Suricata with a custom gcc command that uses the “-Wl,--start-group [many DPDK-related *.a files] -Wl,--end-group” option, Suricata sees my interface.

My goal now is to find a way to make the Autotools build system use the option I need during linking.
I do not plan to make any local modification to the Suricata source code (at least not soon :slight_smile: ), so I could also keep my final custom linking step in the short term. But I am also interested in having a cleaner/simpler compilation process.

Is this explanation clearer?