Locale won't set
I'm runing debian etch, and things worked until recently when I tried
to reconfigure locales. Somehow I found myself in a position where I
can't reconfigure locales, and snooping online suggests there's no
simple solution.
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
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=
My impression is that that en_US.UTF-8 _is_ the default locale for
debian, but my changing the default locale from en_US to none does not
help.
The kind of error messages I get from chron, or when triing to install
a package, or when recondiguring locals is:
...
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
There seems to be no problem with my system's supporting en_US:
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US
en_US.iso88591
What does "no such file or directory" refer to?
Online searching suggested defining environment variables for
LC+CTYPE, LC_MESSAGES, LC_COLLATE. The only obviously relevant
environment variable I have is:
$ printenv
...
LANG=en_US.UTF-8
...
Should I go ahead and have root insert environment variables such as LANGUAGE =
"en_US.UTF-8" into its environment and then run # dpkg-reconfigure
locales again?
--
Haines Brown, KB1GRM
Reply to: