[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Locale won't set

I believe I'm getting closer.

I can't reinstall locales because with locales broken, I can't install
any packages. Is it possible to do a package installation without its
calling locales?

Mathias' suggestion that I run strace on the locale command did lead
me to stumble on a likely culprit:

$ strace -eopen locale -a
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)

This -1 error and the others that followed led me to
/usr/lib/locales. I found no no "en_UTF-8" directory there, but to
judge from backups, apparently there shouldn't be. My guess is that
the the values for the locales variables are looked up in the
locale-archive binary file found there. 

I did discover that my last four system backups had a
/usr/lib/locale/local-archive file that was about 1.21 Mb in size and
had remained the same since I first installed etch in April. However,
a week ago the file suddenly shrank to 320 Kb.

It seemed likely to me that this file was broken at that time, and a
simple fix would be to copy the old version of the locale-archive file
over from the backup. However, given that I don't have any clue how
the locale system works, I'd appreciate a suggestion that a simple
recovery of the original locale-archive file from backup would be 
OK and whether there are any other steps I need to take.

       Haines Brown, KB1GRM


Reply to: