diff mbox series

[v2,1/1] package/noip: fix static build

Message ID 20220609212510.2942019-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [v2,1/1] package/noip: fix static build | expand

Commit Message

Fabrice Fontaine June 9, 2022, 9:25 p.m. UTC
Pass TARGET_LDFLAGS (which will contain -static) through LIBS (as
LDFLAGS is not supported) to fix the following static build failure
(e.g. with musl):

/home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/../../../../microblazeel-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/libgcc.a(unwind-dw2.o): in function `__gthread_once':
/home/autobuild/autobuild/instance-15/output-1/build/host-gcc-final-10.3.0/build/microblazeel-buildroot-linux-musl/libgcc/gthr-default.h:700: undefined reference to `pthread_once'

While at it, alsp pass TARGET_{C,CPP}FLAGS through LIBS as suggested by Thomas
Petazzoni

Fixes:
 - http://autobuild.buildroot.org/results/5ea9b1b976aecc401e0aff21eef3e31c8ed17181

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2 (after review of Thomas Petazzoni):
 - Pass TARGET_{C,CPP}FLAGS through LIBS

 package/noip/noip.mk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Arnout Vandecappelle June 13, 2022, 8:23 p.m. UTC | #1
On 09/06/2022 23:25, Fabrice Fontaine wrote:
> Pass TARGET_LDFLAGS (which will contain -static) through LIBS (as
> LDFLAGS is not supported) to fix the following static build failure
> (e.g. with musl):
> 
> /home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/../../../../microblazeel-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/libgcc.a(unwind-dw2.o): in function `__gthread_once':
> /home/autobuild/autobuild/instance-15/output-1/build/host-gcc-final-10.3.0/build/microblazeel-buildroot-linux-musl/libgcc/gthr-default.h:700: undefined reference to `pthread_once'
> 
> While at it, alsp pass TARGET_{C,CPP}FLAGS through LIBS as suggested by Thomas
> Petazzoni
> 
> Fixes:
>   - http://autobuild.buildroot.org/results/5ea9b1b976aecc401e0aff21eef3e31c8ed17181
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> Changes v1 -> v2 (after review of Thomas Petazzoni):
>   - Pass TARGET_{C,CPP}FLAGS through LIBS
> 
>   package/noip/noip.mk | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/package/noip/noip.mk b/package/noip/noip.mk
> index b7fcc84e2f..1bf4524a51 100644
> --- a/package/noip/noip.mk
> +++ b/package/noip/noip.mk
> @@ -10,10 +10,13 @@ NOIP_SOURCE = noip-duc-linux.tar.gz
>   NOIP_LICENSE = GPL-2.0+
>   NOIP_LICENSE_FILES = COPYING
>   
> +# Pass TARGET_{C,CPP,LD}FLAGS through LIBS as noip doesn't rely on implicit
> +# make rules
>   define NOIP_BUILD_CMDS
>   	$(SED) "/^#define CONFIG_FILENAME/ s/PREFIX//" $(@D)/noip2.c
>   	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC)" \
> -		CFLAGS="$(TARGET_CFLAGS)" PREFIX=/usr CONFDIR=/etc
> +		LIBS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \

  TARGET_CFLAGS already includes TARGET_CPPFLAGS, so I removed the latter.


  Applied to master, thanks.

  Regards,
  Arnout

> +		PREFIX=/usr CONFDIR=/etc
>   endef
>   
>   define NOIP_INSTALL_TARGET_CMDS
Peter Korsgaard June 19, 2022, 1:46 p.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > Pass TARGET_LDFLAGS (which will contain -static) through LIBS (as
 > LDFLAGS is not supported) to fix the following static build failure
 > (e.g. with musl):

 > /home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/../../../../microblazeel-buildroot-linux-musl/bin/ld:
 > /home/autobuild/autobuild/instance-15/output-1/host/lib/gcc/microblazeel-buildroot-linux-musl/10.3.0/libgcc.a(unwind-dw2.o):
 > in function `__gthread_once':
 > /home/autobuild/autobuild/instance-15/output-1/build/host-gcc-final-10.3.0/build/microblazeel-buildroot-linux-musl/libgcc/gthr-default.h:700:
 > undefined reference to `pthread_once'

 > While at it, alsp pass TARGET_{C,CPP}FLAGS through LIBS as suggested by Thomas
 > Petazzoni

 > Fixes:
 >  - http://autobuild.buildroot.org/results/5ea9b1b976aecc401e0aff21eef3e31c8ed17181

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 > ---
 > Changes v1 -> v2 (after review of Thomas Petazzoni):
 >  - Pass TARGET_{C,CPP}FLAGS through LIBS

Committed to 2022.05.x and 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/noip/noip.mk b/package/noip/noip.mk
index b7fcc84e2f..1bf4524a51 100644
--- a/package/noip/noip.mk
+++ b/package/noip/noip.mk
@@ -10,10 +10,13 @@  NOIP_SOURCE = noip-duc-linux.tar.gz
 NOIP_LICENSE = GPL-2.0+
 NOIP_LICENSE_FILES = COPYING
 
+# Pass TARGET_{C,CPP,LD}FLAGS through LIBS as noip doesn't rely on implicit
+# make rules
 define NOIP_BUILD_CMDS
 	$(SED) "/^#define CONFIG_FILENAME/ s/PREFIX//" $(@D)/noip2.c
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC)" \
-		CFLAGS="$(TARGET_CFLAGS)" PREFIX=/usr CONFDIR=/etc
+		LIBS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
+		PREFIX=/usr CONFDIR=/etc
 endef
 
 define NOIP_INSTALL_TARGET_CMDS