Static linking userspace programs such as nftables against libnftnl currently doesn't work out of the box, because libnftnl is linked against libmnl, but this isn't expressed in libnftnl pkg-config file: CCLD nft [...]/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libnftnl.a(table.o): In function `_nft_table_nlmsg_parse': table.c:(.text+0x480): undefined reference to `_mnl_attr_parse' table.c:(.text+0x492): undefined reference to `_mnl_attr_get_str' table.c:(.text+0x4a8): undefined reference to `_mnl_attr_get_u32' table.c:(.text+0x4ca): undefined reference to `_mnl_attr_get_u32' [...] The Libs.private field is specifically designed for such usage: >From pkg-config documentation: Libs.private: This line should list any private libraries in use. Private libraries are libraries which are not exposed through your library, but are needed in the case of static linking. Therefore, this patch adds a reference to libmnl in the Libs.private field of libnftnl pkg-config file. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> --- libnftnl.pc.in | 1 + 1 file changed, 1 insertion(+) diff --git a/libnftnl.pc.in b/libnftnl.pc.in index fd5cc6a..7fef921 100644 --- a/libnftnl.pc.in +++ b/libnftnl.pc.in @@ -12,4 +12,5 @@ Version: @VERSION@ Requires: Conflicts: Libs: -L${libdir} -lnftnl +Libs.private: @LIBMNL_LIBS@ Cflags: -I${includedir} -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html