On Thu, Dec 08, 2016 at 01:48:38PM +0000, Dave Love wrote:
Toggle quote (16 lines)
> $ find $GUIX_LOCPATH -name en_GB.UTF-8> /home/dlove/.guix-profile/lib/locale/2.24/en_GB.UTF-8> > but saw this (note the warning):> > $ guix --version > warning: failed to install locale: Invalid argument> guix (GNU Guix) 20161208.12> Copyright (C) 2016 the Guix authors> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>> This is free software: you are free to change and redistribute it.> There is NO WARRANTY, to the extent permitted by law.> > strace showed it looking in "locale/2.23", not "locale/2.24", despite> the environment.
The `guix` used here is older than the latest version, as evidenced bythe call to an older version of the locales.
Toggle quote (6 lines)
> "guix" there was from the /usr/local/bin link suggested by the> installation instructions. After a "guix package -i guix" (to the same> version of guix, but now in .guix-profile), I don't get the warning but> I wonder why that should have made a difference and why the environment> seems to be ignored.
If you followed the installation instructions, then'/usr/local/bin/guix' is owned by root, as it is symlinked to'/var/guix/profiles/per-user/root/guix-profile/bin/guix'.
My guess is that you updated dlove's Guix package definitions, using`guix pull`, but not root's. This operation is per-user. So, dlove'slocales package is at 2.24, while root's is at 2.23.
The issue went away when you tried the `guix` command installed by dlovebecause dlove's package definitions are more recent than root's, andall refer to the 2.24 locales.
Note that you will also see these locale warnings from the guix-daemonif GUIX_LOCPATH is unset in the daemon's environment.