diff mbox

[libnftnl] Add Libs.private field to libnftnl.pc

Message ID 1419864034-19450-1-git-send-email-thomas.petazzoni@free-electrons.com
State Changes Requested
Delegated to: Pablo Neira
Headers show

Commit Message

Thomas Petazzoni Dec. 29, 2014, 2:40 p.m. UTC
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@free-electrons.com>
---
 libnftnl.pc.in | 1 +
 1 file changed, 1 insertion(+)

Comments

Jan Engelhardt Dec. 29, 2014, 3:29 p.m. UTC | #1
On Monday 2014-12-29 15:40, Thomas Petazzoni wrote:

>The Libs.private field is specifically designed for such usage:

It's not - 
http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/953

>Therefore, this patch adds a reference to libmnl in the Libs.private
>field of libnftnl pkg-config file.

It should probably use Requires.private.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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}