All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] hostapd: fix static build failure
Date: Fri, 29 Nov 2013 15:39:00 +0100	[thread overview]
Message-ID: <20131129153900.1084221a@skate> (raw)
In-Reply-To: <1385735143-8323-1-git-send-email-gustavo@zacarias.com.ar>

Dear Gustavo Zacarias,

On Fri, 29 Nov 2013 11:25:43 -0300, Gustavo Zacarias wrote:
> libnl-3 uses threads and this isn't accounted for in hostapd (or
> libnl-3*.pc files for that matter - hostapd doesn't use pkg-config
> anyway).
> Since linking order matters for static scenarios also throw in -lnl-3
> into LIBS first since it gets appended to in hostapd makefiles to add
> libnl-3.
> 
> Fixes:
> http://autobuild.buildroot.net/results/d4a/d4a9f44effeb08eda6c4b32764274ae81d185d5e/
> 
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
>  package/hostapd/hostapd.mk | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk
> index 4d31df5..0fbd8bc 100644
> --- a/package/hostapd/hostapd.mk
> +++ b/package/hostapd/hostapd.mk
> @@ -10,13 +10,14 @@ HOSTAPD_SUBDIR = hostapd
>  HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config
>  HOSTAPD_DEPENDENCIES = libnl
>  HOSTAPD_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/
> -HOSTAPD_LDFLAGS = $(TARGET_LDFLAGS)
>  HOSTAPD_LICENSE = GPLv2/BSD-3c
>  HOSTAPD_LICENSE_FILES = README
>  
> -# libnl needs -lm (for rint) if linking statically
> +# libnl-3 needs -lm (for rint) and -lpthread if linking statically
> +# And library order matters hence stick -lnl-3 first since it's appended
> +# in the hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing
>  ifeq ($(BR2_PREFER_STATIC_LIB),y)
> -HOSTAPD_LDFLAGS += -lm

So before this commit we were defining HOSTAPD_LDFLAGS...

> +HOSTAPD_LIBS += -lnl-3 -lm -lpthread
>  endif
>  
>  define HOSTAPD_LIBNL_CONFIG
> @@ -93,7 +94,7 @@ endef
>  
>  define HOSTAPD_BUILD_CMDS
>  	$(TARGET_MAKE_ENV) CFLAGS="$(HOSTAPD_CFLAGS)" \
> -		LDFLAGS="$(TARGET_LDFLAGS)" \

but not using it? :-)

> +		LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(HOSTAPD_LIBS)" \
>  		$(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(HOSTAPD_SUBDIR)
>  endef
>  

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2013-11-29 14:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-29 14:25 [Buildroot] [PATCH] hostapd: fix static build failure Gustavo Zacarias
2013-11-29 14:39 ` Thomas Petazzoni [this message]
2013-11-29 14:43   ` Gustavo Zacarias
2013-11-29 18:43 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131129153900.1084221a@skate \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.