After I upgraded my Linux box from glibc 2.2-5 to 2.2-9 locale got broken.
I'm using russian locale ru_RU.KOI8-R.
To check the locale I use 'locale mon' command.
After upgrade it's output changed from russian back to english.
Utitlities like 'date' use english timenames instead of russians and so
With glibc 2.2-5 all was fine.
I tried to recompile the locale with
localedef -c -i ruRU -f KOI8-R ru_RU.KOI8-R
but it don't help.
Cannot reproduce this.
$ rpm -q glibc
$ LANG=ru_RU.KIO8-R locale mon
$ LANG=en_US locale mon
$ LANG=cs_CZ locale mon
Can you please look if you have /usr/lib/locale/ru_RU.koi8r/ directory
populated, perhaps strace that locale
(ie. LC_ALL=ru_RU.KIO8-R strace -o log locale mon)
to see what's going on?
Created attachment 7364 [details]
output of strace command
I got this:
# LANG=cs_CZ locale mon
# LC_ALL= LANG=ru_RU.KOI8-R strace -o log locale mon
# LC_ALL=ru_RU.KOI8-R LANG=ru_RU.KOI8-R strace -o log locale mon
<line of russian names which NN refuse to paste>
Seems that it works when LC_ALL is set.
But I don't want to set LC_ALL cause this will ignore all others LC_ categories.
Log file that strace produced is attached to this message.
I've restored original glibc:
# rpm -V glibc
Are you sure you don't have LC_TIME set in the environment?
$ LC_ALL= LC_TIME= LANG=es_ES locale mon
$ LC_ALL= LC_TIME=C LANG=es_ES locale mon
Yes, I forget about LC_TIME. ;-)
Sorry for false alarm.