All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext
@ 2016-08-25 20:13 Arnout Vandecappelle
  2016-08-25 20:13 ` [Buildroot] [PATCH v2 2/2] package/iputils: link with -lintl Arnout Vandecappelle
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2016-08-25 20:13 UTC (permalink / raw)
  To: buildroot

configure.ac has AM_GNU_GETTEXT(), which will enable i18n if a gettext
library is found. For uClibc, it is found if the gettext package has
been built, and it will add -lintl to the link flags. For musl and
glibc, it is always found, in libc itself so nothing is added to the
link flags.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Matthew Weber <matt@thewebers.ws>
---
Discovered while investigating
http://autobuild.buildroot.net/results/f81/f81eabb37788aa6dcdadf4034889c84bef78b876/

v2: use BR2_PACKAGE_GETTEXT condition instead of BR2_NEEDS_GETTEXT
---
 package/libgpg-error/libgpg-error.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk
index e081b36..1945673 100644
--- a/package/libgpg-error/libgpg-error.mk
+++ b/package/libgpg-error/libgpg-error.mk
@@ -11,6 +11,10 @@ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB
 LIBGPG_ERROR_INSTALL_STAGING = YES
 LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config
 
+ifeq ($(BR2_PACKAGE_GETTEXT),y)
+LIBGPG_ERROR_DEPENDENCIES += gettext
+endif
+
 define LIBGPG_ERROR_FIX_CROSS_COMPILATION
 	cd $(@D)/src/syscfg && \
 	ln -s lock-obj-pub.$(call qstrip, $(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG)).h \
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 2/2] package/iputils: link with -lintl
  2016-08-25 20:13 [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Arnout Vandecappelle
@ 2016-08-25 20:13 ` Arnout Vandecappelle
  2016-08-26  1:35 ` [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Matthew Weber
  2016-08-26  9:09 ` Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2016-08-25 20:13 UTC (permalink / raw)
  To: buildroot

libgcrypt pulls in gpg-error which links with libintl if available.
Since iputils doesn't use libtool, -lintl has to be passed explicitly
for static builds.

Fixes:
http://autobuild.buildroot.net/results/f81/f81eabb37788aa6dcdadf4034889c84bef78b876
http://autobuild.buildroot.net/results/f29/f296e8fba1e79f96d3d119aa4c8207ed4b80694b
http://autobuild.buildroot.net/results/478/478a88cd892a119970cfca717ea7f5517bfc4cea
http://autobuild.buildroot.net/results/920/920d2d1d967691779f79fa54a38fac5adc5a8ee4

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Matthew Weber <matt@thewebers.ws>
---
v2: add BR2_STATIC_LIBS to the condition (Baruch)
    Only add -lintl when libgcrypt is selected.

I also tested without libgcrypt (thus without -lintl) and with libcap,
nettle, openssl. No problem there.
---
 package/iputils/iputils.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk
index d6398f7..42dab08 100644
--- a/package/iputils/iputils.mk
+++ b/package/iputils/iputils.mk
@@ -36,6 +36,13 @@ endif
 ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
 IPUTILS_MAKE_OPTS += USE_GCRYPT=yes
 IPUTILS_DEPENDENCIES += libgcrypt
+# When gettext is enabled (BR2_PACKAGE_GETTEXT=y), and provides libintl
+# (BR2_NEEDS_GETTEXT=y), libgpg-error will link with libintl, and libgpg-error
+# is pulled in by libgcrypt. Since iputils doesn't use libtool, we have to link
+# with libintl explicitly for static linking,
+ifeq ($(BR2_STATIC_LIBS)$(BR2_NEEDS_GETTEXT)$(BR2_PACKAGE_GETTEXT),yyy)
+IPUTILS_MAKE_OPTS += ADDLIB='-lintl'
+endif
 else
 IPUTILS_MAKE_OPTS += USE_GCRYPT=no
 endif
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext
  2016-08-25 20:13 [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Arnout Vandecappelle
  2016-08-25 20:13 ` [Buildroot] [PATCH v2 2/2] package/iputils: link with -lintl Arnout Vandecappelle
@ 2016-08-26  1:35 ` Matthew Weber
  2016-08-26  9:09 ` Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Matthew Weber @ 2016-08-26  1:35 UTC (permalink / raw)
  To: buildroot

Arnout,

On Thu, Aug 25, 2016 at 3:13 PM, Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
> configure.ac has AM_GNU_GETTEXT(), which will enable i18n if a gettext
> library is found. For uClibc, it is found if the gettext package has
> been built, and it will add -lintl to the link flags. For musl and
> glibc, it is always found, in libc itself so nothing is added to the
> link flags.
>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> Cc: Matthew Weber <matt@thewebers.ws>

Using http://autobuild.buildroot.net/results/e59247f73ba4af4cd5d7ef285c4d359b4c930def,
tested the uclibc autobuilder failure case where a "make clean
iputils" would build but "make clean all" would not because of the
gettext dependency not forcing gettext to build before libgpg-error in
the successful case.  These two cases now both build successfully.

Successfully tested (qemu_x86_64_defconfig) updated to be a glibc
x86_64 target with iputils enabled.  ie no gettext enabled.

Tested-by: Matthew Weber <matt@thewebers.ws>

> ---
> Discovered while investigating
> http://autobuild.buildroot.net/results/f81/f81eabb37788aa6dcdadf4034889c84bef78b876/
>
> v2: use BR2_PACKAGE_GETTEXT condition instead of BR2_NEEDS_GETTEXT
> ---
>  package/libgpg-error/libgpg-error.mk | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk
> index e081b36..1945673 100644
> --- a/package/libgpg-error/libgpg-error.mk
> +++ b/package/libgpg-error/libgpg-error.mk
> @@ -11,6 +11,10 @@ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB
>  LIBGPG_ERROR_INSTALL_STAGING = YES
>  LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config
>
> +ifeq ($(BR2_PACKAGE_GETTEXT),y)
> +LIBGPG_ERROR_DEPENDENCIES += gettext
> +endif
> +
>  define LIBGPG_ERROR_FIX_CROSS_COMPILATION
>         cd $(@D)/src/syscfg && \
>         ln -s lock-obj-pub.$(call qstrip, $(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG)).h \
> --
> 2.9.3
>



-- 
Thanks,
Matt

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext
  2016-08-25 20:13 [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Arnout Vandecappelle
  2016-08-25 20:13 ` [Buildroot] [PATCH v2 2/2] package/iputils: link with -lintl Arnout Vandecappelle
  2016-08-26  1:35 ` [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Matthew Weber
@ 2016-08-26  9:09 ` Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-08-26  9:09 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 25 Aug 2016 22:13:35 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> configure.ac has AM_GNU_GETTEXT(), which will enable i18n if a gettext
> library is found. For uClibc, it is found if the gettext package has
> been built, and it will add -lintl to the link flags. For musl and
> glibc, it is always found, in libc itself so nothing is added to the
> link flags.
> 
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> Cc: Matthew Weber <matt@thewebers.ws>
> ---
> Discovered while investigating
> http://autobuild.buildroot.net/results/f81/f81eabb37788aa6dcdadf4034889c84bef78b876/

Both applied, thanks!

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

end of thread, other threads:[~2016-08-26  9:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-25 20:13 [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Arnout Vandecappelle
2016-08-25 20:13 ` [Buildroot] [PATCH v2 2/2] package/iputils: link with -lintl Arnout Vandecappelle
2016-08-26  1:35 ` [Buildroot] [PATCH v2 1/2] package/libgpg-error: optionally depends on gettext Matthew Weber
2016-08-26  9:09 ` Thomas Petazzoni

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.