Message ID | 20170715111205.4748-1-romain.naour@gmail.com |
---|---|
State | Accepted |
Headers | show |
Hello, On Sat, 15 Jul 2017 13:12:05 +0200, Romain Naour wrote: > Since [1], NONLS is added to LSHW_CFLAGS even for glibc based toolchain. > Previously it was not the case since BR2_ENABLE_LOCALE is always > selected for glibc based toolchain. > > With NONLS, config.h try to redefine two Intl function (textdomain and > bindtextdomain) that are used by glibc internally. > > This break the build with the following error: > sysroot/usr/include/libintl.h:82:52: error: expected unqualified-id before 'throw' > extern char *textdomain (const char *__domainname) __THROW; > > The NONLS mode is really for cases where the C library does not provide > *any* gettext implementation, as would be the case with uClibc without > intl stubs enabled. > > But in the context of Buildroot, all C libraries provide a gettext > implementation. It might be full-featured or minimal, but it always > exists. > > So, remove NONLS from CFLAGS to avoid the build issue with glibc > toolchains. > > Build tested with a uClibc toolchain without locale enabled. > > Fixes: > http://autobuild.buildroot.net/results/9bf/9bf5437b4348ea8077013b80a51ce05fa328247d > > [1] 3acd9f845de0489071719d52d774aab48d7f9c33 > > Signed-off-by: Romain Naour <romain.naour@gmail.com> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> > --- > package/lshw/lshw.mk | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) Applied to master, thanks. Thomas
diff --git a/package/lshw/lshw.mk b/package/lshw/lshw.mk index 43b937b..9b52b09 100644 --- a/package/lshw/lshw.mk +++ b/package/lshw/lshw.mk @@ -9,13 +9,8 @@ LSHW_SITE = http://ezix.org/software/files LSHW_LICENSE = GPL-2.0 LSHW_LICENSE_FILES = COPYING -LSHW_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_SYSTEM_ENABLE_NLS),) -LSHW_CFLAGS += -DNONLS -endif - LSHW_MAKE_OPTS = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" AR="$(TARGET_AR)" \ - RPM_OPT_FLAGS="$(LSHW_CFLAGS)" all + RPM_OPT_FLAGS="$(TARGET_CFLAGS)" all LSHW_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ LIBS=$(TARGET_NLS_LIBS)
Since [1], NONLS is added to LSHW_CFLAGS even for glibc based toolchain. Previously it was not the case since BR2_ENABLE_LOCALE is always selected for glibc based toolchain. With NONLS, config.h try to redefine two Intl function (textdomain and bindtextdomain) that are used by glibc internally. This break the build with the following error: sysroot/usr/include/libintl.h:82:52: error: expected unqualified-id before 'throw' extern char *textdomain (const char *__domainname) __THROW; The NONLS mode is really for cases where the C library does not provide *any* gettext implementation, as would be the case with uClibc without intl stubs enabled. But in the context of Buildroot, all C libraries provide a gettext implementation. It might be full-featured or minimal, but it always exists. So, remove NONLS from CFLAGS to avoid the build issue with glibc toolchains. Build tested with a uClibc toolchain without locale enabled. Fixes: http://autobuild.buildroot.net/results/9bf/9bf5437b4348ea8077013b80a51ce05fa328247d [1] 3acd9f845de0489071719d52d774aab48d7f9c33 Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> --- package/lshw/lshw.mk | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)