[Buildroot] [PATCH 1/1] package/ushare: fix build without msgfmt

Arnout Vandecappelle arnout at mind.be
Wed Aug 25 19:34:12 UTC 2021



On 25/08/2021 21:33, Arnout Vandecappelle wrote:
> 
> 
> On 22/08/2021 10:57, Fabrice Fontaine wrote:
>> Fix the following build failure without /usr/bin/msgfmt raised since the
>> addition of ushare in commit 74097fd659154499612f21fabeda4e3e7c8fdbfc:
>>
>> make[3]: Entering directory `/home/buildroot/autobuild/run/instance-3/output-1/build/ushare-2.1/po'
>> /usr/bin/msgfmt -c --statistics -o fr.gmo fr.po
>> make[3]: /usr/bin/msgfmt: Command not found
>>
>> To fix this build failure, set GMSGFMT to $(HOST_DIR)/bin/msgfmt and
>> don't build po files if NLS is disabled
>>
>> Fixes:
>>  - http://autobuild.buildroot.org/results/9f6b5b8f38386135bacd2d8f6e97c1fea77bbe69
>>
>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>> ---
>>  ...-t-build-po-files-if-NLS-is-disabled.patch | 47 +++++++++++++++++++
>>  package/ushare/ushare.mk                      |  5 +-
>>  2 files changed, 51 insertions(+), 1 deletion(-)
>>  create mode 100644 package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
>>
>> diff --git a/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
>> new file mode 100644
>> index 0000000000..f0fa89998f
>> --- /dev/null
>> +++ b/package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch
>> @@ -0,0 +1,47 @@
>> +From 977171781f5d49e61b46c0241fb67cbb7d666498 Mon Sep 17 00:00:00 2001
>> +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>> +Date: Sun, 22 Aug 2021 10:44:48 +0200
>> +Subject: [PATCH] Don't build po files if NLS is disabled
>> +
>> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>> +[Upstream status: https://github.com/ddugovic/uShare/pull/12]
>> +---
>> + Makefile  | 7 +++++--
>> + configure | 1 +
>> + 2 files changed, 6 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/Makefile b/Makefile
>> +index ebd8f91..6686cfd 100644
>> +--- a/Makefile
>> ++++ b/Makefile
>> +@@ -14,10 +14,13 @@ EXTRADIST = AUTHORS \
>> + 	    THANKS \
>> + 	    TODO \
>> + 
>> +-SUBDIRS = po \
>> +-	  scripts \
>> ++SUBDIRS = scripts \
>> + 	  src \
>> + 
>> ++ifeq ($(NLS),yes)
>> ++SUBDIRS += po
>> ++endif
>> ++
>> + all:
>> + 	for subdir in $(SUBDIRS); do \
>> + 	  $(MAKE) -C $$subdir $@; \
>> +diff --git a/configure b/configure
>> +index 4a3efe0..162a776 100755
>> +--- a/configure
>> ++++ b/configure
>> +@@ -723,6 +723,7 @@ append_config "LDFLAGS=$LDFLAGS"
>> + append_config "INSTALL=$INSTALL"
>> + 
>> + append_config "DEBUG=$debug"
>> ++append_config "NLS=$nls"
>> + 
>> + 
>> + echolog "Creating $CONFIG_H ..."
>> +-- 
>> +2.32.0
>> +
>> diff --git a/package/ushare/ushare.mk b/package/ushare/ushare.mk
>> index a4c9711600..7c7359c385 100644
>> --- a/package/ushare/ushare.mk
>> +++ b/package/ushare/ushare.mk
>> @@ -18,8 +18,11 @@ USHARE_CONF_OPTS = \
>>  	--sysconfdir=/etc \
>>  	--disable-strip
>>  
>> +USHARE_MAKE_OPTS = LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)"
>> +
>>  ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
>>  USHARE_CONF_OPTS += --disable-nls
>> +USHARE_MAKE_OPTS += GMSGFMT="$(HOST_DIR)/bin/msgfmt"
> 
>  This looks fishy... If NLS is disabled, there's no dependency that makes sure
> that gettext is built before ushare (or at all). Conversely, if gettext is
> enabled, shouldn't we specify GMSGFMT?

 Oh and also, we prefer explicit --enable-nls.

 Regards,
 Arnout

> 
>  Regards,
>  Arnout
> 
>>  endif
>>  
>>  define USHARE_CONFIGURE_CMDS
>> @@ -31,7 +34,7 @@ define USHARE_CONFIGURE_CMDS
>>  endef
>>  
>>  define USHARE_BUILD_CMDS
>> -	$(TARGET_MAKE_ENV) $(MAKE) LDFLAGS="$(TARGET_LDFLAGS) $(USHARE_LDFLAGS)" -C $(@D)
>> +	$(TARGET_MAKE_ENV) $(MAKE) $(USHARE_MAKE_OPTS) -C $(@D)
>>  endef
>>  
>>  define USHARE_INSTALL_TARGET_CMDS
>>


More information about the buildroot mailing list