How To Resolve "LC_ALL: cannot change locale (en_US.utf8)"

  • Open
  • quality assurance status badge
Details
2 participants
  • David Philipe Gil
  • Leo Famulari
Owner
unassigned
Submitted by
David Philipe Gil
Severity
normal
D
D
David Philipe Gil wrote on 5 Mar 2020 21:53
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
TMXHJK4ivjnh1i4XeUISrxbgZao7EghYYARUXZZnZCeJ57KZ5x2rEDqvoBMlN0FfWROyipVI681ZRmwaguufBhffJXVey0AUoad0crzmdtk=@protonmail.com
System: Ubuntu 18.04
Guix: 1.0.1

Whenever I "guix pull" I see the error "LC_ALL: cannot change locale (en_US.utf8)". I installed "glibc_utf8_locales" and it seems to have had no effect.

In my .profile I am pointing to "/home/username/.guix-profile/lib/locale". Am I missing something?

I have entered "hash guix" as well with no effect.
Attachment: file
Attachment: signature.asc
L
L
Leo Famulari wrote on 11 Mar 2020 20:05
(address . davidpgil@protonmail.com)(address . 39936@debbugs.gnu.org)
20200311190539.GC26593@jasmine.lan
On Thu, Mar 05, 2020 at 08:53:52PM +0000, David Philipe Gil via Bug reports for GNU Guix wrote:
Toggle quote (9 lines)
> System: Ubuntu 18.04
> Guix: 1.0.1
>
> Whenever I "guix pull" I see the error "LC_ALL: cannot change locale (en_US.utf8)". I installed "glibc_utf8_locales" and it seems to have had no effect.
>
> In my .profile I am pointing to "/home/username/.guix-profile/lib/locale". Am I missing something?
>
> I have entered "hash guix" as well with no effect.

Is this on the Guix System, or another distro?

Did you check the instructions in the manual section 2.6.1 Locales?

It's likely this error is coming from the guix-daemon, so you'll need to
make sure that GUIX_LOCPATH is set in the environment where the
guix-daemon starts.

On most distros this happens in the systemd unit file with something
like this line in the Service section:

Environment=GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
D
D
David Philipe Gil wrote on 11 Mar 2020 20:55
(name . Leo Famulari)(address . leo@famulari.name)(name . 39936@debbugs.gnu.org)(address . 39936@debbugs.gnu.org)
hiIBZi73kK2T6DyZWRdvlHs4AqLrG6wpLmrTr5OD_I4zbUHl_oSRPNxAmMsssXUKmRewd81uHJMUVcYx3t6hCj5Cu16WC0c3D18LjrUhDqw=@protonmail.com
Toggle quote (28 lines)
> On Thu, Mar 05, 2020 at 08:53:52PM +0000, David Philipe Gil via Bug reports for GNU Guix wrote:
>

> > System: Ubuntu 18.04
> > Guix: 1.0.1
> > Whenever I "guix pull" I see the error "LC_ALL: cannot change locale (en_US.utf8)". I installed "glibc_utf8_locales" and it seems to have had no effect.
> > In my .profile I am pointing to "/home/username/.guix-profile/lib/locale". Am I missing something?
> > I have entered "hash guix" as well with no effect.
>

> Is this on the Guix System, or another distro?
>

> Did you check the instructions in the manual section 2.6.1 Locales?
>

> It's likely this error is coming from the guix-daemon, so you'll need to
> make sure that GUIX_LOCPATH is set in the environment where the
> guix-daemon starts.
>

> On most distros this happens in the systemd unit file with something
> like this line in the Service section:
>

> Environment=GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale


I did read section 2.6.1 but i could not understand the implications of the stated info.

I used the guix install script to install the guix package manager onto trisquel, which is an ubuntu based distro.

i have been putting my environment variables in .profile and am not familiar with using systemd. would you provide more specific info for what exactly to do in steps as far as adding this guix locale support properly into my systemd setup?

this might be a good feature to add to future versions of the guix package manager installer script.

Thank you for your assistance :)
Attachment: signature.asc
L
L
Leo Famulari wrote on 11 Mar 2020 23:48
(name . David Philipe Gil)(address . davidpgil@protonmail.com)(name . 39936@debbugs.gnu.org)(address . 39936@debbugs.gnu.org)
20200311224855.GA22532@jasmine.lan
On Wed, Mar 11, 2020 at 07:55:21PM +0000, David Philipe Gil wrote:
Toggle quote (2 lines)
> i have been putting my environment variables in .profile and am not familiar with using systemd. would you provide more specific info for what exactly to do in steps as far as adding this guix locale support properly into my systemd setup?

Make sure the file /etc/systemd/system/guix-daemon.service includes a
line like this in the Service section:

Environment=GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

If you make any changes to that file, you need to make them take effect
by running `systemctl daemon-reload && systemctl restart guix-daemon` as
root.

You should also run `env` from the shell where you use Guix and make
sure it includes GUIX_LOCPATH.

For both the systemd service file and your shell, you need to make sure
the value of GUIX_LOCPATH is a directory that contains locales, and that
they are the same version — there will be a directory with a version
number like '2.29' in, for example, '/home/leo/.guix-profile/lib/locale'.

This should all be handled by the installer script so it would be great
to figure out what's wrong.
D
D
David Philipe Gil wrote on 12 Mar 2020 13:24
(name . Leo Famulari)(address . leo@famulari.name)(name . 39936@debbugs.gnu.org)(address . 39936@debbugs.gnu.org)
P-EUgJrMIaEsWwUNfGFa5tvzDfWYBpwaS3CNdS7JgPYcYjZbUp0A2vBH-9e5nn7vLe1nEMaFWQx7FOevFxNwwBlhhapmCyT2KGCBbS_gFxA=@protonmail.com
Toggle quote (32 lines)
> On Wed, Mar 11, 2020 at 07:55:21PM +0000, David Philipe Gil wrote:
>

> > i have been putting my environment variables in .profile and am not familiar with using systemd. would you provide more specific info for what exactly to do in steps as far as adding this guix locale support properly into my systemd setup?
>

> Make sure the file /etc/systemd/system/guix-daemon.service includes a
> line like this in the Service section:
>

> Environment=GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
>

> If you make any changes to that file, you need to make them take effect
> by running `systemctl daemon-reload && systemctl restart guix-daemon` as
> root.
>

> You should also run `env` from the shell where you use Guix and make
> sure it includes GUIX_LOCPATH.
>

> For both the systemd service file and your shell, you need to make sure
> the value of GUIX_LOCPATH is a directory that contains locales, and that
> they are the same version — there will be a directory with a version
> number like '2.29' in, for example, '/home/leo/.guix-profile/lib/locale'.
>

> This should all be handled by the installer script so it would be great
> to figure out what's wrong.


my "/etc/systemd/system/guix-daemon.service" says:

```
# This is a "service unit file" for the systemd init system to launch
# 'guix-daemon'. Drop it in /etc/systemd/system or similar to have
# 'guix-daemon' automatically started.

[Unit]
Description=Build daemon for GNU Guix

[Service]
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
Environment='GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog

# Some package builds (for example, go@1.8.1) may require even more than
# 1024 tasks.
TasksMax=8192

[Install]
WantedBy=multi-user.target
```

my GUIX_LOCPATH equals:

```
/home/david/.guix-profile/lib/locale
```

inside inside that directory is a foilder named "2.29" and it contains what looks like every locale.

My entire "env" is the following:

```
CLUTTER_IM_MODULE=ibus
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
GUIX_PROFILE=/home/david/.guix-profile
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
LANG=en_US.UTF-8
GDM_LANG=en_US
DISPLAY=:0
COLORTERM=truecolor
GIT_SSL_CAINFO=/home/david/.guix-profile/etc/ssl/certs/ca-certificates.crt
DESKTOP_AUTOSTART_ID=1011d029ca029e4cc158392712626196800000018970007
XDG_VTNR=7
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path
XDG_SESSION_ID=c2
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/david
USER=david
DESKTOP_SESSION=gnome
EMACSLOADPATH=/home/david/.guix-profile/share/emacs/site-lisp:/home/david/.guix-profile/share/emacs/26.3/lisp
QT4_IM_MODULE=ibus
TEXTDOMAINDIR=/usr/share/locale/
GUIX_LOCPATH=/home/david/.guix-profile/lib/locale
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/00441cab_c189_445c_9a5e_3f23985d3b02
DEFAULTS_PATH=/usr/share/gconf/gnome.default.path
PWD=/home/david
HOME=/home/david
TEXTDOMAIN=im-config
SSH_AGENT_PID=2035
QT_ACCESSIBILITY=1
LIBVIRT_DEFAULT_URI=qemu:///system
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/home/david/.guix-profile/share:/usr/share/mate:/usr/share/mate:/home/david/.guix-profile/share:/usr/share/trisquel-session:/usr/share/gnome:/usr/local/share/:/usr/share/
SSL_CERT_FILE=/home/david/.guix-profile/ca-certificates.crt
XDG_SESSION_DESKTOP=gnome
GIO_EXTRA_MODULES=/home/david/.guix-profile/lib/gio/modules
GTK_MODULES=gail:atk-bridge
TERM=xterm-256color
VTE_VERSION=5202
SHELL=/bin/bash
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
IM_CONFIG_PHASE=2
XDG_CURRENT_DESKTOP=GNOME
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.130
SHLVL=1
XDG_SEAT=seat0
LANGUAGE=en_US
GDMSESSION=gnome
SSL_CERT_DIR=/home/david/.guix-profile/etc/ssl/certs
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=david
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/home/david/.Xauthority
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
GUIX_GTK3_PATH=/home/david/.guix-profile/lib/gtk-3.0
XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
PATH=/home/david/.config/guix/current/bin:/home/david/.guix-profile/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/david/.local/bin
INFOPATH=/home/david/.guix-profile/share/info:/home/david/.guix-profile/share/info
SESSION_MANAGER=local/thinkpadw541:@/tmp/.ICE-unix/1897,unix/thinkpadw541:/tmp/.ICE-unix/1897
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus
_=/usr/bin/env
```

Please let me know if I can provide more information to help solve this issue.
Attachment: signature.asc
L
L
Leo Famulari wrote on 12 Mar 2020 18:37
(name . David Philipe Gil)(address . davidpgil@protonmail.com)(name . 39936@debbugs.gnu.org)(address . 39936@debbugs.gnu.org)
20200312173734.GA1942@jasmine.lan
On Thu, Mar 12, 2020 at 12:24:46PM +0000, David Philipe Gil wrote:
Toggle quote (2 lines)
> my "/etc/systemd/system/guix-daemon.service" says:

[...]

Toggle quote (2 lines)
> Environment='GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8

And do you have the locales installed in root's profile? Check if that
directory is exists and contains locales.

Finally I would try removing the LC_ALL variable at the end. I don't
have that (custom service file) and things are working fine for me.
D
D
David Philipe Gil wrote on 12 Mar 2020 21:58
(name . Leo Famulari)(address . leo@famulari.name)(name . 39936@debbugs.gnu.org)(address . 39936@debbugs.gnu.org)
6grx9FRPih3hxHGgVo9d3vCGjjriHVKokjKAj3oeSnG1ysbnlYVtWsnpIsc686BpdS2b3cEIKpptt2cN2nDw2_JBQ3iLLW1C8wwE_rTvl_4=@protonmail.com
On Thursday, March 12, 2020 5:37 PM, Leo Famulari <leo@famulari.name> wrote:

Toggle quote (20 lines)
> On Thu, Mar 12, 2020 at 12:24:46PM +0000, David Philipe Gil wrote:
>

> > my "/etc/systemd/system/guix-daemon.service" says:
>

> [...]
>

> > Environment='GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
>

> And do you have the locales installed in root's profile? Check if that
> directory is exists and contains locales.
>

> Finally I would try removing the LC_ALL variable at the end. I don't
> have that (custom service file) and things are working fine for me.


I actually don't have a root profile in my home directory if that is what you mean. However, removing the "LC_ALL=en_US.utf8" from the "Environment=" line in "/etc/systemd/system/guix-daemon.service" seems to have solved the issue!

Was that added by the install script? Will this be fixed/addressed?
Attachment: signature.asc
L
L
Leo Famulari wrote on 14 Mar 2020 18:27
(name . David Philipe Gil)(address . davidpgil@protonmail.com)
20200314172750.GB23309@jasmine.lan
On Thu, Mar 12, 2020 at 08:58:19PM +0000, David Philipe Gil wrote:
Toggle quote (7 lines)
> I actually don't have a root profile in my home directory if that is
> what you mean. However, removing the "LC_ALL=en_US.utf8" from the
> "Environment=" line in "/etc/systemd/system/guix-daemon.service" seems
> to have solved the issue!
>
> Was that added by the install script? Will this be fixed/addressed?

That LC_ALL bit was added to fix an earlier bug,

I'm not that familiar with how locales work so I'm not sure the best way
forward here... so I'm CC-ing Ludovic, who worked on it previously.
?