fsquillace / junest

The lightweight Arch Linux based distro that runs, without root privileges, on top of any other Linux distro.
GNU General Public License v3.0
2.1k stars 110 forks source link

Segmentation fault trying to repair locale issues. #227

Closed DiagonalArg closed 5 years ago

DiagonalArg commented 5 years ago
$ junest -f
# tmux -V
tmux: invalid LC_ALL, LC_CTYPE or LANG
# locale
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
# printenv | grep LANG
LANG=en_US.UTF-8
# printenv | grep LC_  
# ls /usr/lib/locale/   # empty directory
# localedef -f UTF-8 -i en_US en_US.UTF-8
Segmentation fault
# cat /etc/locale.conf
LANG=en_US.UTF-8
# egrep "^[^#]" /etc/locale.gen
en_US.UTF-8 UTF-8
# locale-gen
Generating locales...
  en_US.UTF-8.../usr/bin/locale-gen: line 41: 32268 Segmentation fault      localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale

If I try to set LC_{CTYPE,MESSAGES,ALL} in my .bash_profile, and then try again:

$ junest -f
/usr/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
# locale
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Finally, if I unset LC_ALL in my .bash_profile, the error goes away on starting junest -f, but the problems remain with tmux and locale.

DiagonalArg commented 5 years ago

This work around solve the issue for me.