[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Locales on NixOS
From: |
Andy Wingo |
Subject: |
Re: Locales on NixOS |
Date: |
Mon, 10 Aug 2015 15:57:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
On Mon 10 Aug 2015 13:32, Andy Wingo <address@hidden> writes:
> Hi,
>
> On one machine I have a NixOS system install and a Guix user install.
> The specified recipe to set LOCPATH doesn't work for me there for some
> reason. I can't figure out why, the strace didn't show anything
> obvious.
>
> locale from NixOS locale from guix
> -----------------------------------+--------------------+-----------------
> LOCPATH unset | (1) | (3)
> LOCPATH=~/.guix-profile/lib/locale | (2) | (4)
>
> This NixOS is the latest stable release and has glibc 2.20. Guix is
> from master and has glibc 2.21.
>
> (1)
> LANG=en_US.UTF-8
> LC_CTYPE="en_US.UTF-8"
> LC_NUMERIC=en_GB.utf8
> LC_TIME=en_GB.utf8
I finally figured this out: it works if I specify en_GB.UTF-8 instead of
en_GB.utf8. I'm not sure why; strace shows en_GB.utf8 eventually
finding en_GB, for example:
$ LC_MONETARY=en_GB.utf8 strace locale
...
open("/home/wingo/.guix-profile/lib/locale/en_GB.utf8/LC_MONETARY",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/run/current-system/locale/en_GB.utf8/LC_MONETARY", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/home/wingo/.guix-profile/lib/locale/en_GB/LC_MONETARY",
O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=291, ...}) = 0
Could it be a bug in glibc, where the first ENOENT errno is not getting
cancelled out by subsequent successful call? Odd stuff. I am going to
cut my losses and not investigate further, though.
Andy