GNU bug report logs - #67686
[PATCH core-updates 0/5] Update glibc to 2.38; make C.UTF-8 always available

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Thu, 7 Dec 2023 10:21:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #85 received at 67686 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 67686 <at> debbugs.gnu.org
Subject: Re: [bug#67686] [PATCH core-updates 4/5] gnu: glibc: Install
 C.UTF-8 locale.
Date: Sat, 09 Dec 2023 22:41:41 +0100
Hello!

Efraim Flashner <efraim <at> flashner.co.il> skribis:

> On Thu, Dec 07, 2023 at 10:26:36PM +0100, Ludovic Courtès wrote:

[...]

>> I was told on #glibc that (1) there’s no ‘localedef’ for the build
>> machine produced during cross-compilation, and (2) that more generally,
>> there’s no way to cross-build locale data, that endianness and other
>> things may matter.
>> 
>> I suspect #2 was about the locale archive and not locale data, because
>> evidence suggests that locale data is system-independent:
>> 
>> --8<---------------cut here---------------start------------->8---
>> $ for s in aarch64-linux powerpc64le-linux armhf-linux i686-linux ; do diff -r $(guix build glibc-locales <at> 2.35) $(guix build glibc-locales <at> 2.35 -s "$s") && echo "$s same as x86_64-linux" ; done
>> aarch64-linux same as x86_64-linux
>> powerpc64le-linux same as x86_64-linux
>> armhf-linux same as x86_64-linux
>> i686-linux same as x86_64-linux
>> $ guix describe
>>   guix 6e2dd51
>>     repository URL: https://git.savannah.gnu.org/git/guix.git
>>     branch: master
>>     commit: 6e2dd51df5f3f51e9056dd4f2e1b036195ab3caa
>> --8<---------------cut here---------------end--------------->8---
>> 
>> Efraim, could you check against powerpc-linux, which is the only
>> big-endian target we +/- support?
>
> I found a difference in almost every file. The tarball of the locales
> was too big to attach so I've uploaded it here¹.  Looking at it in
> diffoscope it looked like most of the data that looked human readable
> was the same, but there was some endian switching with the other data
> bits.  So without actually checking other big endian systems it looks
> like we could set target #f for the locales, but for those that share
> their endianness.

OK, interesting, thanks for checking!

So we won’t be able to reliably provide C.UTF-8 in cross-compiled libcs.
Maybe not a big problem, but it does mean that cross-compiled code will
be “less capable” because of that.

Ludo’.




This bug report was last modified 1 year and 167 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.