On Sun, 12 Apr 2009 21:14:50 -0500
"Boyd Stephen Smith Jr." <b...@iguanasuicide.net> wrote:

> In <20090412201956.993b4446.cele...@gmail.com>, Celejar wrote:
> >~# man cp
> >man: can't set the locale; make sure $LC_* and $LANG are correct
> >
> >Or, while running aptitude:
> >
> >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").
> >/usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are
> > correct
> >
> >I've tried 'dpkg-reconfigure locales'
> 
> I've seen it before, and the dpkg-reconfigure usually addresses it.
> 
> >, and even purging and
> >reinstalling locales, to no effect.
> 
> That usually doesn't help if the dpkg-reconfigure doesn't.
> 
> >Is anyone else seeing
> >this?  Is this a bug, or some misconfiguration on my system?  Note that
> >my regular user account works fine.
> 
> I usually run local-gen manually then log out and log back in and things 
> work.

Doesn't help.
 
> Actually, looking at your error message in more detail, it looks like your 
> LANG variable is set improperly.  For some reason your LANG variable is set 
> to '"en_US.UTF-8"'--including the double-quotes.  It should be set to 
> 'en_US.UTF-8'.  Double check your root shell startup files and see if 
> something could be wrong there.

And here we have the problem!  I noticed that when I log in as root
directly, either to a getty or via 'su', then I don't see the problem.
It only appears in root shells obtained with 'sudo -i'.  'locale' in
the latter case gives:

~# 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=

While 'locale' in the former case gives:

# locale
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=

So you seem to be correct; for some reason, in the sudo shell, the LC*
variables are getting extra quotes.  Any idea why?  [There's nothing
that looks interesting in root's '.bashrc'; it's basically empty.]

Celejar
--
mailmin.sourceforge.net - remote access via secure (OpenPGP) email
ssuds.sourceforge.net - A Simple Sudoku Solver and Generator


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to