* [Buildroot] [PATCH] hostapd: fix static build failure
@ 2013-11-29 14:25 Gustavo Zacarias
2013-11-29 14:39 ` Thomas Petazzoni
2013-11-29 18:43 ` Peter Korsgaard
0 siblings, 2 replies; 4+ messages in thread
From: Gustavo Zacarias @ 2013-11-29 14:25 UTC (permalink / raw)
To: buildroot
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
+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)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(HOSTAPD_LIBS)" \
$(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(HOSTAPD_SUBDIR)
endef
--
1.8.3.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] hostapd: fix static build failure
2013-11-29 14:25 [Buildroot] [PATCH] hostapd: fix static build failure Gustavo Zacarias
@ 2013-11-29 14:39 ` Thomas Petazzoni
2013-11-29 14:43 ` Gustavo Zacarias
2013-11-29 18:43 ` Peter Korsgaard
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2013-11-29 14:39 UTC (permalink / raw)
To: buildroot
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] hostapd: fix static build failure
2013-11-29 14:39 ` Thomas Petazzoni
@ 2013-11-29 14:43 ` Gustavo Zacarias
0 siblings, 0 replies; 4+ messages in thread
From: Gustavo Zacarias @ 2013-11-29 14:43 UTC (permalink / raw)
To: buildroot
On 11/29/2013 11:39 AM, Thomas Petazzoni wrote:
> 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? :-)
Yes, there was brokeness!
Probably from the migration to hostapd-2.
Regards.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] hostapd: fix static build failure
2013-11-29 14:25 [Buildroot] [PATCH] hostapd: fix static build failure Gustavo Zacarias
2013-11-29 14:39 ` Thomas Petazzoni
@ 2013-11-29 18:43 ` Peter Korsgaard
1 sibling, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2013-11-29 18:43 UTC (permalink / raw)
To: buildroot
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
> 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/
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-29 18:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-29 14:25 [Buildroot] [PATCH] hostapd: fix static build failure Gustavo Zacarias
2013-11-29 14:39 ` Thomas Petazzoni
2013-11-29 14:43 ` Gustavo Zacarias
2013-11-29 18:43 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox