GNU bug report logs - #25136
locale confusion

Previous Next

Package: guix;

Reported by: Dave Love <fx <at> gnu.org>

Date: Thu, 8 Dec 2016 13:49:01 UTC

Severity: normal

Tags: notabug

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25136 in the body.
You can then email your comments to 25136 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#25136; Package guix. (Thu, 08 Dec 2016 13:49:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dave Love <fx <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 08 Dec 2016 13:49:01 GMT) Full text and rfc822 format available.

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

From: Dave Love <fx <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: locale confusion
Date: Thu, 08 Dec 2016 13:48:38 +0000
I followed the instructions for getting locales working in
"(guix)Application Setup" to no effect initially.  I'm running over
RHEL6, if that's relevant, and I have:

  $ locale
  LANG=en_GB.UTF-8
  LC_CTYPE="en_GB.UTF-8"
  LC_NUMERIC="en_GB.UTF-8"
  LC_TIME="en_GB.UTF-8"
  LC_COLLATE="en_GB.UTF-8"
  LC_MONETARY="en_GB.UTF-8"
  LC_MESSAGES="en_GB.UTF-8"
  LC_PAPER="en_GB.UTF-8"
  LC_NAME="en_GB.UTF-8"
  LC_ADDRESS="en_GB.UTF-8"
  LC_TELEPHONE="en_GB.UTF-8"
  LC_MEASUREMENT="en_GB.UTF-8"
  LC_IDENTIFICATION="en_GB.UTF-8"
  LC_ALL=
  $ export -p | grep GUIX
  declare -x GUIX_LOCPATH="/home/dlove/.guix-profile/lib/locale"
  $ 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.

"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.




Information forwarded to bug-guix <at> gnu.org:
bug#25136; Package guix. (Thu, 08 Dec 2016 20:10:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Dave Love <fx <at> gnu.org>
Cc: 25136 <at> debbugs.gnu.org
Subject: Re: bug#25136: locale confusion
Date: Thu, 8 Dec 2016 15:08:59 -0500
On Thu, Dec 08, 2016 at 01:48:38PM +0000, Dave Love wrote:
>   $ 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 by
the call to an older version of the locales.

> "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's
locales package is at 2.24, while root's is at 2.23.

The issue went away when you tried the `guix` command installed by dlove
because dlove's package definitions are more recent than root's, and
all refer to the 2.24 locales.

Note that you will also see these locale warnings from the guix-daemon
if GUIX_LOCPATH is unset in the daemon's environment.




Information forwarded to bug-guix <at> gnu.org:
bug#25136; Package guix. (Fri, 09 Dec 2016 06:47:01 GMT) Full text and rfc822 format available.

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

From: Chris Marusich <cmmarusich <at> gmail.com>
To: Dave Love <fx <at> gnu.org>
Cc: 25136 <at> debbugs.gnu.org
Subject: Re: bug#25136: locale confusion
Date: Thu, 08 Dec 2016 22:46:21 -0800
[Message part 1 (text/plain, inline)]
Dave Love <fx <at> gnu.org> writes:

> I followed the instructions for getting locales working in
> "(guix)Application Setup" to no effect initially.  I'm running over
> RHEL6, if that's relevant, and I have:
>
>   $ locale
>   LANG=en_GB.UTF-8
>   LC_CTYPE="en_GB.UTF-8"
>   LC_NUMERIC="en_GB.UTF-8"
>   LC_TIME="en_GB.UTF-8"
>   LC_COLLATE="en_GB.UTF-8"
>   LC_MONETARY="en_GB.UTF-8"
>   LC_MESSAGES="en_GB.UTF-8"
>   LC_PAPER="en_GB.UTF-8"
>   LC_NAME="en_GB.UTF-8"
>   LC_ADDRESS="en_GB.UTF-8"
>   LC_TELEPHONE="en_GB.UTF-8"
>   LC_MEASUREMENT="en_GB.UTF-8"
>   LC_IDENTIFICATION="en_GB.UTF-8"
>   LC_ALL=
>   $ export -p | grep GUIX
>   declare -x GUIX_LOCPATH="/home/dlove/.guix-profile/lib/locale"
>   $ 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.

Did /home/dlove/.guix-profile/lib/locale contain a "2.23" directory?  If
not, then perhaps that's why the warning was emitted.

> "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.

After "guix package -i guix", does the warning still show up when you
invoke "/usr/local/bin/guix"?  If so, then perhaps the reason is that
the "guix" program installed in root's profile was compiled against a
different version of glibc (2.23, I guess) than the one in your profile.

I wonder if perhaps this is the kind of problem described in "(guix)
Locales", specifically the following:

https://www.gnu.org/software/guix/manual/html_node/Locales.html#Locale-Data-Compatibility-Considerations

-- 
Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#25136; Package guix. (Mon, 12 Dec 2016 13:41:01 GMT) Full text and rfc822 format available.

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

From: Dave Love <fx <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>
Cc: 25136 <at> debbugs.gnu.org
Subject: Re: bug#25136: locale confusion
Date: Mon, 12 Dec 2016 13:40:05 +0000
Leo Famulari <leo <at> famulari.name> writes:

> 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's
> locales package is at 2.24, while root's is at 2.23.

That may be right.  I've lost track of this now, but I'll try to
reconstruct it and the thought process that caused the confusion.
Thanks for the comments, and perhaps this should have been on help-
rather than bug-.  I guess it can be smoothed out anyhow.  [For what
it's worth, I'm interested in avoiding obstacles to using saner
solutions on HPC systems, and the obstacles don't have to be very
high...]




Added tag(s) notabug. Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Tue, 24 Jan 2017 22:01:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 25136 <at> debbugs.gnu.org and Dave Love <fx <at> gnu.org> Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Tue, 24 Jan 2017 22:01:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 22 Feb 2017 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 121 days ago.

Previous Next


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