On 30.03.2013 09:45, Andrey Borzenkov wrote:

> If user locale has non-ASCII translation strings, running grub make
> outputs only question marks:
> 
> bor@opensuse:~/build/grub> locale
> LANG=ru_RU.utf8
> LC_CTYPE="ru_RU.utf8"
> LC_NUMERIC="ru_RU.utf8"
> LC_TIME="ru_RU.utf8"
> LC_COLLATE="ru_RU.utf8"
> LC_MONETARY="ru_RU.utf8"
> LC_MESSAGES="ru_RU.utf8"
> LC_PAPER="ru_RU.utf8"
> LC_NAME="ru_RU.utf8"
> LC_ADDRESS="ru_RU.utf8"
> LC_TELEPHONE="ru_RU.utf8"
> LC_MEASUREMENT="ru_RU.utf8"
> LC_IDENTIFICATION="ru_RU.utf8"
> LC_ALL=
> 
> make[2]: ????? ?? ???????? `/home/bor/build/grub/docs'
> Making all in util/bash-completion.d
> make[2]: ???? ? ??????? `/home/bor/build/grub/util/bash-completion.d'
> make[2]: ???? `all' ?? ??????? ?????????? ??????.
> make[2]: ????? ?? ???????? `/home/bor/build/grub/util/bash-completion.d'
> make[1]: ????? ?? ???????? `/home/bor/build/grub'
> 
> The reason is, grub Makefile resets LC_CTYPE to C. This makes it
> impossible to translate messages into current locale (C at the time
> tools are running). Reset LC_MESSAGES to C as well, it is better to
> have them in English than do not have them at all.

This doesn't seem right thing to do. LC_COLLATE was reset to C because
of Estonian since [a-z] in Estonian doesn't include u or t. LC_CTYPE
might break e.g. [[:alpha:]]. But I don't know how to stop it from
interfering with make and gcc messages

> 
> Problem observed on Linux with glibc 2.17 and 2.15.
> 
> Signed-off-by: Andrey Borzenkov <arvidj...@gmail.com>
> 
> ---
>  ChangeLog            | 5 +++++
>  conf/Makefile.common | 1 +
>  2 files changed, 6 insertions(+)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 58c2242..cd1f762 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,8 @@
> +2013-03-30  Andrey Borzenkov <arvidj...@gmail.com>
> +
> +     * conf/Makefile.common: Reset LC_MESSAGES to C too to avoid
> +     question marks in messages during build on non-ASCII locale.
> +
>  2013-03-26  Vladimir Serbinenko  <phco...@gmail.com>
>  
>       * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
> diff --git a/conf/Makefile.common b/conf/Makefile.common
> index c185a55..f49581d 100644
> --- a/conf/Makefile.common
> +++ b/conf/Makefile.common
> @@ -4,6 +4,7 @@ CFLAGS_PLATFORM=
>  
>  export LC_COLLATE := C
>  export LC_CTYPE := C
> +export LC_MESSAGES := C
>  unexport LC_ALL
>  
>  # Platform specific options



Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to