guix-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]