[Buildroot] [PATCH] package/knock: fix static build with libusb

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jun 22 17:04:56 UTC 2014


From: "Yann E. MORIN" <yann.morin.1998 at free.fr>

knock depends on libpcap, that has an optional dependency on libusb.
Alas, libpcap does not install a .pc file, so knock does not know
that it should link with -lusb-1.0.

When linking dynamically, this is not an issue, since the linker does
follow the DT_NEEDED tags of libpcap, and thus pulls libusb-1.0 in at
the same time. And since linusb uses threads, libpthread is pulled in
as well.

However, when linking statically, all of this fails.

Fix that by telling knock's ./configure what libraries to link with
when doing a static build and libusb is enabled.

Fixes:
    http://autobuild.buildroot.net/results/1eb/1eb877ebd9469c9261bf114fc7733819ae3fd562/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Cc: Gustavo Zacarias <gustavo at zacarias.com.ar>
---
 package/knock/knock.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/knock/knock.mk b/package/knock/knock.mk
index 8d2b41e..ace23fa 100644
--- a/package/knock/knock.mk
+++ b/package/knock/knock.mk
@@ -10,4 +10,8 @@ KNOCK_LICENSE = GPLv2+
 KNOCK_LICENSE_FILES = COPYING
 KNOCK_DEPENDENCIES = libpcap
 
+ifeq ($(BR2_PREFER_STATIC_LIB)$(BR2_PACKAGE_LIBUSB),yy)
+KNOCK_CONF_OPT = LIBS="-lusb-1.0 -pthread"
+endif
+
 $(eval $(autotools-package))
-- 
1.8.3.2



More information about the buildroot mailing list