gnupg2: fix linking with intl
PATCH v2 1/1 gnupg2: fix linking with intl
gnupg2 needs to link with intl if the gettext package is selected. Otherwise we will see an error like this one:
libgpg-error.a(libgpg_error_la-strsource.o): In function `gpg_strsource':
strsource.c:(.text+0x4c): undefined reference to `libintl_dgettext'
Fixes:
http://autobuild.buildroot.net/results/9aa/9aaca74dd3a1f82e12358530db4d5d17eb833f7f/
---
Changes v1 -> v2:
- Remove "select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE" from Config.in
- Replace $(BR2_NEEDS_GETTEXT_IF_LOCALE) with $(BR2_PACKAGE_GETTEXT)
- Amend the commit message according to the new changes
package/gnupg2/gnupg2.mk | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
package/gnupg2/gnupg2.mk +5 -0
@@ -20,6 +20,11 @@ GNUPG2_CONF_OPTS = \ --with-pth-prefix=$(STAGING_DIR)/usr GNUPG2_CONF_ENV = gl_cv_header_working_stdint_h=yes +ifeq ($(BR2_PACKAGE_GETTEXT),y) +GNUPG2_DEPENDENCIES += gettext +GNUPG2_CONF_ENV += LIBS=-lintl +endif + ifneq ($(BR2_PACKAGE_GNUPG2_GPGV2),y) define GNUPG2_REMOVE_GPGV2 rm -f $(TARGET_DIR)/usr/bin/gpgv2
Signature · 1 line
1.7.1
PATCH v2 1/1 gnupg2: fix linking with intl
Dear Vicente Olivert Riera,
package/gnupg2/gnupg2.mk GNUPG2_CONF_OPTS = \ · line 25
Quoted 3 lines · Vicente Olivert Riera
package/gnupg2/gnupg2.mk +3
-0+ifeq ($(BR2_PACKAGE_GETTEXT),y) +GNUPG2_DEPENDENCIES += gettext +GNUPG2_CONF_ENV += LIBS=-lintl
Are you sure we need this LIBS part when glibc is used?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 gnupg2: fix linking with intl
Quoted 9 lines · Thomas Petazzoni
Dear Vicente Olivert Riera,
package/gnupg2/gnupg2.mk GNUPG2_CONF_OPTS = \ · line 25
Quoted 3 lines · Vicente Olivert Riera
package/gnupg2/gnupg2.mk +3
-0+ifeq ($(BR2_PACKAGE_GETTEXT),y) +GNUPG2_DEPENDENCIES += gettext +GNUPG2_CONF_ENV += LIBS=-lintlAre you sure we need this LIBS part when glibc is used?
Uhm..., something must have changed in the tree and right now I'm not able to reproduce this failure even using the same config file :/
http://autobuild.buildroot.net/results/9aa/9aaca74dd3a1f82e12358530db4d5d17eb833f7f/config
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Platforms Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
PATCH v2 1/1 gnupg2: fix linking with intl
Dear Vicente Olivert Riera,
Quoted 11 lines · Vicente Olivert Riera
Quoted 9 lines · Thomas Petazzoni
Dear Vicente Olivert Riera,
package/gnupg2/gnupg2.mk GNUPG2_CONF_OPTS = \ · line 25
Quoted 3 lines · Vicente Olivert Riera
package/gnupg2/gnupg2.mk +3
-0+ifeq ($(BR2_PACKAGE_GETTEXT),y) +GNUPG2_DEPENDENCIES += gettext +GNUPG2_CONF_ENV += LIBS=-lintlAre you sure we need this LIBS part when glibc is used?
Quoted 4 lines
Uhm..., something must have changed in the tree and right now I'm not able to reproduce this failure even using the same config file :/
http://autobuild.buildroot.net/results/9aa/9aaca74dd3a1f82e12358530db4d5d17eb833f7f/config
This problem was related to static linking, but the BR2_PREFER_STATIC_LIB option has been renamed to BR2_STATIC_LIBS (with a bogus Config.in.legacy handling done by me). So if you took the old config file, BR2_PREFER_STATIC_LIB was discarded, and you were doing a shared library build instead of a static library build, which explains why the problem was not appearing anymore.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 gnupg2: fix linking with intl
Quoted 17 lines · Thomas Petazzoni
Dear Vicente Olivert Riera,
Quoted 14 lines · Vicente Olivert Riera
Quoted 9 lines · Thomas Petazzoni
Dear Vicente Olivert Riera,
package/gnupg2/gnupg2.mk GNUPG2_CONF_OPTS = \ · line 25
Quoted 3 lines · Vicente Olivert Riera
package/gnupg2/gnupg2.mk +3
-0+ifeq ($(BR2_PACKAGE_GETTEXT),y) +GNUPG2_DEPENDENCIES += gettext +GNUPG2_CONF_ENV += LIBS=-lintlAre you sure we need this LIBS part when glibc is used?
Uhm..., something must have changed in the tree and right now I'm not able to reproduce this failure even using the same config file :/
Quoted 8 lines
Quoted 1 line
http://autobuild.buildroot.net/results/9aa/9aaca74dd3a1f82e12358530db4d5d17eb833f7f/config
This problem was related to static linking, but the
BR2_PREFER_STATIC_LIBoption has been renamed toBR2_STATIC_LIBS(with a bogus Config.in.legacy handling done by me). So if you took the old config file,BR2_PREFER_STATIC_LIBwas discarded, and you were doing a shared library build instead of a static library build, which explains why the problem was not appearing anymore.
You were right. So now I was able to reproduce the problem, and taking into account that it only happens for static builds, I think I could change the patch to be like this:
ifeq ($(BR2_PACKAGE_GETTEXT),y)GNUPG2_DEPENDENCIES += gettext
ifneq ($(BR2_SHARED_LIBS),y)GNUPG2_CONF_ENV += LIBS=-lintl
endif
endif
What do you think?
Regards,
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Platforms Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com
PATCH v2 1/1 gnupg2: fix linking with intl
Dear Vicente Olivert Riera,
Quoted 11 lines · Vicente Olivert Riera
Quoted 6 lines
This problem was related to static linking, but the
BR2_PREFER_STATIC_LIBoption has been renamed toBR2_STATIC_LIBS(with a bogus Config.in.legacy handling done by me). So if you took the old config file,BR2_PREFER_STATIC_LIBwas discarded, and you were doing a shared library build instead of a static library build, which explains why the problem was not appearing anymore.You were right. So now I was able to reproduce the problem, and taking into account that it only happens for static builds, I think I could change the patch to be like this:
Quoted 8 lines
ifeq ($(BR2_PACKAGE_GETTEXT),y)
GNUPG2_DEPENDENCIES+= gettext
ifneq ($(BR2_SHARED_LIBS),y)GNUPG2_CONF_ENV+= LIBS=-lintl
endif
endifWhat do you think?
I don't remember the entire context. Do you have a minimal defconfig that exhibits the problem?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 gnupg2: fix linking with intl
Hi Thomas,
Quoted 22 lines · Thomas Petazzoni
Dear Vicente Olivert Riera,
Quoted 18 lines · Vicente Olivert Riera
Quoted 6 lines
This problem was related to static linking, but the
BR2_PREFER_STATIC_LIBoption has been renamed toBR2_STATIC_LIBS(with a bogus Config.in.legacy handling done by me). So if you took the old config file,BR2_PREFER_STATIC_LIBwas discarded, and you were doing a shared library build instead of a static library build, which explains why the problem was not appearing anymore.You were right. So now I was able to reproduce the problem, and taking into account that it only happens for static builds, I think I could change the patch to be like this:
ifeq ($(BR2_PACKAGE_GETTEXT),y)
GNUPG2_DEPENDENCIES+= gettext
ifneq ($(BR2_SHARED_LIBS),y)GNUPG2_CONF_ENV+= LIBS=-lintl
endif
endif
Quoted 4 lines
Quoted 1 line
What do you think?
I don't remember the entire context. Do you have a minimal defconfig that exhibits the problem?
Sure. Here you have it:
BR2_mipsel=y
BR2_STATIC_LIBS=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2014.11.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_PACKAGE_GETTEXT=y
BR2_PACKAGE_GNUPG2=y
it fails for both BR2_STATIC_LIBS and BR2_SHARED_STATIC_LIBS. That's why I proposed to use...
ifneq ($(BR2_SHARED_LIBS),y)
...in the patch.
Regards,
Signature · 5 lines
Vicente Olivert Riera Graduate Software Engineer, MIPS Platforms Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com