To follow up your message description.

        I've had the same problem. I'm running several systems
localized to Spanish (es_ES.ISO-8859-1), and they've also broken. I've
been able to trace the problem to the call to setlocale (LC_ALL, ""),
having environment LANG=es_ES.ISO-8859-1. Tried other locales
(randomly) and also failed. 

        Curious symptoms: fileutils, for example; I try to rm -i a
file, it asks in Spanish, but expects the response in
English. Answering 's' should be ok to remove the file, but I have to
say 'y' if I want it done. Here is an strace of such an execution:

lithium:~ $ touch /tmp/t
# First I'll answer 'y'
lithium:~ $ strace rm -i /tmp/t
execve("/bin/rm", ["rm", "-i", "/tmp/t"], [/* 37 vars */]) = 0
brk(0)                                  = 0x804dec4
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=16753, ...}) = 0
mmap(NULL, 16753, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=885048, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0D\211\1"..., 4096) = 
4096
mmap(NULL, 899420, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40019000
mprotect(0x400ed000, 31068, PROT_NONE)  = 0
mmap(0x400ed000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xd3000) = 0x400ed000
mmap(0x400f1000, 14684, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400f1000
close(3)                                = 0
munmap(0x40014000, 16753)               = 0
personality(PER_LINUX)                  = 0
getpid()                                = 14293
brk(0)                                  = 0x804dec4
brk(0x804defc)                          = 0x804defc
brk(0x804e000)                          = 0x804e000
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2224, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2224
brk(0x804f000)                          = 0x804f000
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
open("/usr/share/i18n/locale.alias", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/usr/share/locale/es_ES.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/i18n/es_ES.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es_ES.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es_ES.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es_ES/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3)                                = 0
open("/usr/share/locale/es_ES/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
mmap(NULL, 44, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
munmap(0x40014000, 44)                  = 0
close(3)                                = 0
open("/usr/share/i18n/es_ES/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("/usr/share/locale/es.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/share/locale/es/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3)                                = 0
open("/usr/share/locale/es/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/i18n/es/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or 
directory)
ioctl(0, TCGETS, {B38400 opost isig icanon -echo ...}) = 0
brk(0x8050000)                          = 0x8050000
brk(0x8051000)                          = 0x8051000
lstat("/tmp/t", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
access("/tmp/t", W_OK)                  = 0
brk(0x8052000)                          = 0x8052000
open("/usr/share/locale/es_ES.ISO-8859-1/LC_MESSAGES/fileutils.mo", O_RDONLY) = 
-1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES.iso88591/LC_MESSAGES/fileutils.mo", O_RDONLY) = 
-1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/es.ISO-8859-1/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/es.iso88591/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/es/LC_MESSAGES/fileutils.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=42910, ...}) = 0
mmap(NULL, 42910, PROT_READ, MAP_PRIVATE, 3, 0) = 0x400f5000
close(3)                                = 0
write(2, "rm: \277borrar `/tmp/t\'? (s/n) ", 28) = 28
fstat(0, {st_mode=S_IFCHR|0666, st_rdev=makedev(3, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
ioctl(0, TCGETS, {B38400 opost isig icanon -echo ...}) = 0
read(0, y
"y\n", 4096)                    = 2
unlink("/tmp/t")                        = 0
_exit(0)                                = ?
lithium:~ $ touch /tmp/t
lithium:~ $ strace rm -i /tmp/t
execve("/bin/rm", ["rm", "-i", "/tmp/t"], [/* 37 vars */]) = 0
brk(0)                                  = 0x804dec4
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=16753, ...}) = 0
mmap(NULL, 16753, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=885048, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0D\211\1"..., 4096) = 
4096
mmap(NULL, 899420, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40019000
mprotect(0x400ed000, 31068, PROT_NONE)  = 0
mmap(0x400ed000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xd3000) = 0x400ed000
mmap(0x400f1000, 14684, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400f1000
close(3)                                = 0
munmap(0x40014000, 16753)               = 0
personality(PER_LINUX)                  = 0
getpid()                                = 14298
brk(0)                                  = 0x804dec4
brk(0x804defc)                          = 0x804defc
brk(0x804e000)                          = 0x804e000
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2224, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2224
brk(0x804f000)                          = 0x804f000
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
open("/usr/share/i18n/locale.alias", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/usr/share/locale/es_ES.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/i18n/es_ES.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es_ES.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es_ES.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es_ES/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3)                                = 0
open("/usr/share/locale/es_ES/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
mmap(NULL, 44, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
munmap(0x40014000, 44)                  = 0
close(3)                                = 0
open("/usr/share/i18n/es_ES/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("/usr/share/locale/es.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/es.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/i18n/es.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/share/locale/es/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3)                                = 0
open("/usr/share/locale/es/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/i18n/es/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or 
directory)
ioctl(0, TCGETS, {B38400 opost isig icanon -echo ...}) = 0
brk(0x8050000)                          = 0x8050000
brk(0x8051000)                          = 0x8051000
lstat("/tmp/t", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
access("/tmp/t", W_OK)                  = 0
brk(0x8052000)                          = 0x8052000
open("/usr/share/locale/es_ES.ISO-8859-1/LC_MESSAGES/fileutils.mo", O_RDONLY) = 
-1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES.iso88591/LC_MESSAGES/fileutils.mo", O_RDONLY) = 
-1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/es.ISO-8859-1/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/es.iso88591/LC_MESSAGES/fileutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/es/LC_MESSAGES/fileutils.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=42910, ...}) = 0
mmap(NULL, 42910, PROT_READ, MAP_PRIVATE, 3, 0) = 0x400f5000
close(3)                                = 0
write(2, "rm: \277borrar `/tmp/t\'? (s/n) ", 28) = 28
fstat(0, {st_mode=S_IFCHR|0666, st_rdev=makedev(3, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
ioctl(0, TCGETS, {B38400 opost isig icanon -echo ...}) = 0
read(0, s
"s\n", 4096)                    = 2
_exit(0)                                = ?


-- 

Iñaky -- inaky at teknoland dot com dot

99 bugs in the code, fix one, compile again ...
101 bugs in the code, fix one, compile again ..
103 bu...

Reply via email to