From 272d6c8903ea51f3b6912b556e36fd5d2193abb3 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Mon, 28 Apr 2025 12:20:38 -0600 Subject: [PATCH] libsuricata-config: fix static library dependency order When static linking we have a circular dependency between libsuricata_rust, and libsuricata_c, so we have to list each twice. An alternative is to use "-Wl,--start-group", but that isn't portable outside the GNU toolchain. --- libsuricata-config.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libsuricata-config.in b/libsuricata-config.in index f03e3b3487..85cc098a19 100644 --- a/libsuricata-config.in +++ b/libsuricata-config.in @@ -6,8 +6,12 @@ includedir="@includedir@" libdir="@libdir@" LIBS="@LIBS@ @RUST_LDADD@" +# Shared library to link to (the default). shared_lib="-lsuricata" -static_lib="-lsuricata_c -lsuricata_rust" + +# Static libraries to link to. We duplicate these as there are +# circular references and --start-group is not portable. +static_lib="-lsuricata_c -lsuricata_rust -lsuricata_c -lsuricata_rust" lib="$shared_lib"