make check fails for tst-strxfrm2 and tst-strtod3

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

make check fails for tst-strxfrm2 and tst-strtod3

Steven Munroe
I have seen make check failures in tst-strxfrm and tst-strtod3 since
they were added. Looking at tst-strxfrm, I see it fails with "setlocale
failed" in:


  if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
    {
      puts ("setlocale failed");
      res = 1;
    }

The problem is that the glibc does not like any of the locale info on my
system (glibc-2.3.3). (See attached strace)

I can't tell if this a glibc bug or just any incompatibility between the
current glibc-2.5+ trunc and glibc-2.3.3 locale data.



> ./tst-strxfrm2.sh
execve("/home/sjmunroe/work/build32-24x/elf/ld.so.1", ["/home/sjmunroe/work/build32-24x/"..., "--library-path", "/home/sjmunroe/work/build32-24x:"..., "/home/sjmunroe/work/build32-24x/"..., "--direct"], [/* 79 vars */]) = 0
brk(0)                                  = 0x8030000
open("/home/sjmunroe/work/build32-24x/string/tst-strxfrm2", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\2\0\24\0\0\0\1\20\0\t"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=90964, ...}) = 0
mmap(0x10000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x10000000
mmap(0x10011000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x10011000
close(3)                                = 0
uname({sys="Linux", node="spokane1", ...}) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/home/sjmunroe/work/build32-24x/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/sjmunroe/work/build32-24x/tls", 0xffffd1d8) = -1 ENOENT (No such file or directory)
open("/home/sjmunroe/work/build32-24x/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1\361"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=7510427, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000
mmap(0xfe8b000, 1458572, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfe8b000
mprotect(0xffd8000, 65536, PROT_NONE)   = 0
mmap(0xffe8000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14d000) = 0xffe8000
mmap(0xffed000, 8588, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffed000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40001000
mprotect(0xffe8000, 16384, PROT_READ)   = 0
mprotect(0x10011000, 4096, PROT_READ)   = 0
mprotect(0x802e000, 4096, PROT_READ)    = 0
brk(0)                                  = 0x8030000
brk(0x8051000)                          = 0x8051000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40002000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40002000, 4096)                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=375, ...}) = 0
mmap(NULL, 375, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40002000
close(3)                                = 0
getcwd("/home/sjmunroe/work/libc24/string", 4096) = 34
open("/home/sjmunroe/work/build32-24x/iconvdata/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54635, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40003000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, "as\tJS//\t\t\tJUS_I.B1.002//\nalias\tY"..., 4096) = 4096
read(3, "e\tINTERNAL\t\tISO-8859-3//\t\tISO885"..., 4096) = 4096
read(3, "as\tISO-IR-199//\t\tISO-8859-14//\na"..., 4096) = 4096
read(3, "to\t\t\tmodule\t\tcost\nalias\tCSEBCDIC"..., 4096) = 4096
read(3, "e\t\tcost\nalias\tCP284//\t\t\tIBM284//"..., 4096) = 4096
read(3, "as\tCP864//\t\t\tIBM864//\nalias\t864/"..., 4096) = 4096
read(3, "dule\tIBM937//\t\tINTERNAL\t\tIBM937\t"..., 4096) = 4096
read(3, "UC-JP//\nalias\tUJIS//\t\t\tEUC-JP//\n"..., 4096) = 4096
read(3, "dule\t\tcost\nalias\tISO-IR-143//\t\tI"..., 4096) = 4096
read(3, "OX//\nmodule\tISO_10367-BOX//\t\tINT"..., 4096) = 4096
read(3, "dule\tINTERNAL\t\tEUC-JISX0213//\t\tE"..., 4096) = 4096
read(3, "odule\tIBM1130//\t\tINTERNAL\t\tIBM11"..., 4096) = 4096
read(3, "804//\t\tIBM16804//\nalias\tCP16804/"..., 4096) = 1387
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40003000, 4096)                = 0
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=45568, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40003000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, "lias\tJS//\t\t\tJUS_I.B1.002//\nalias"..., 4096) = 4096
read(3, "ule\tINTERNAL\t\tISO-8859-3//\t\tISO8"..., 4096) = 4096
read(3, "lias\tISO-IR-199//\t\tISO-8859-14//"..., 4096) = 4096
read(3, "\t\tto\t\t\tmodule\t\tcost\nalias\tCSEBCD"..., 4096) = 4096
read(3, "ule\t\tcost\nalias\tCP284//\t\t\tIBM284"..., 4096) = 4096
read(3, "lias\tCP864//\t\t\tIBM864//\nalias\t86"..., 4096) = 4096
read(3, "module\tIBM937//\t\tINTERNAL\t\tIBM93"..., 4096) = 4096
read(3, "\tEUC-JP//\nalias\tUJIS//\t\t\tEUC-JP/"..., 4096) = 4096
read(3, "module\t\tcost\nalias\tISO-IR-143//\t"..., 4096) = 4096
read(3, "-BOX//\nmodule\tISO_10367-BOX//\t\tI"..., 4096) = 4096
read(3, "module\tINTERNAL\t\tEUC-JISX0213//\t"..., 4096) = 512
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40003000, 4096)                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40003000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56, ...}) = 0
mmap(NULL, 56, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40004000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=159, ...}) = 0
mmap(NULL, 159, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40005000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=83, ...}) = 0
mmap(NULL, 83, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40006000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40007000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40008000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=294, ...}) = 0
mmap(NULL, 294, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40009000
close(3)                                = 0
open("/usr/lib/locale/de_DE.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.utf8/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=882134, ...}) = 0
mmap(NULL, 882134, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000a000
close(3)                                = 0
munmap(0x4000a000, 882134)              = 0
open("/usr/lib/locale/de_DE/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21499, ...}) = 0
mmap(NULL, 21499, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4000a000
close(3)                                = 0
munmap(0x4000a000, 21499)               = 0
open("/usr/lib/locale/de.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de.utf8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "setlocale failed", 16setlocale failed)        = 16
write(1, "\n", 1
)                       = 1
exit_group(1)                           = ?
Reply | Threaded
Open this post in threaded view
|

Re: make check fails for tst-strxfrm2 and tst-strtod3

Ulrich Drepper
Steven Munroe wrote:
> I can't tell if this a glibc bug or just any incompatibility between the
> current glibc-2.5+ trunc and glibc-2.3.3 locale data.

You should by now  know that this means LOCPATH envvars are missing.  I
added them.  And the format changed, live with it.

--
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖


signature.asc (259 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: make check fails for tst-strxfrm2 and tst-strtod3

Roland McGrath
In reply to this post by Steven Munroe
the tests ought to use local localedata rather than system, as
localedata/Makefile tests do