With previous glibc only wget showed from umlauts, now this glibc breaks them all. I can still type them and apps show them as data, but console progs (on tty and kde konsole) eg nano won't show correct umlauts in messages or in menu (eg:Datei öffnen ^Y Seite zurÌck) With new glibc I added a few more userlocales, used kernel-headers 2.6.10 instead of 2.-6.8-rsomething and nptlonly LANG=de_DE@euro LC_CTYPE="de_DE@euro" LC_NUMERIC="de_DE@euro" LC_TIME="de_DE@euro" LC_COLLATE="de_DE@euro" LC_MONETARY="de_DE@euro" LC_MESSAGES="de_DE@euro" LC_PAPER="de_DE@euro" LC_NAME="de_DE@euro" LC_ADDRESS="de_DE@euro" LC_TELEPHONE="de_DE@euro" LC_MEASUREMENT="de_DE@euro" LC_IDENTIFICATION="de_DE@euro" LC_ALL= locale -a with previous glibc C de_DE de_DE@euro en_US en_US.utf8 POSIX locale -a with new glibc: C de_DE de_DE@euro de_DE.iso88591 de_DE.iso885915 de_DE.iso885915@euro de_DE.iso88591@euro de_DE.utf8 de_DE.utf8@euro deutsch en_US en_US.iso88591 en_US.iso885915 en_US.utf8 german POSIX Something odd I noticed with new glibc: If I type umlauts in tty/konsole the don't get printed immediately. Only when i press the next key, the get printed. So is glibc fsked up or was it due to using newer kernel headers? Oh btw, with new glibc gkrellm2-cpufrequ doesn't show the cpufrequ anymore. The slider still works though... sys-libs/glibc-2.3.4.20050125 [2.3.4.20041102] -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck +nptl +nptlonly* +pic +userlocales 0 kB Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51-r15 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.11-rc4-ck1 i686) ================================================================= System uname: 2.6.11-rc4-ck1 i686 AMD Athlon(tm) Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 09:39:56)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.6.3, 1.4_p6, 1.9.4, 1.8.5-r3, 1.7.9-r1 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.10 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -mtune=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -fweb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -mtune=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -fweb -fvisibility-inlines-hidden -fvisibility=hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache confcache digest distlocks prelink sandbox sfperms" GENTOO_MIRRORS=" ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="de_DE@euro" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,-z,combreloc -Wl,--relax" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/fluidportage/trunk /usr/lportage" SYNC="rsync://linux.rz.ruhr-uni-bochum.de/gentoo-portage/" USE="x86 3dnow 3dnowex S3TC X a52 aac acpi acpi4linux alsa apm audiofile avi berkdb bitmap-fonts bzip2 cdda cddb cdparanoia cdr crypt cups curl dga divx4linux dts dv dvb dvd dvdr dvdread edl encode ext-png ext-zlib faac faad fam ffmpeg fftw flac foomaticdb freetype gd gdbm gif gimp gimpprint gpm gs gtk gtk2 ieee1394 imagemagick imlib ipv6 ithreads java javascript jpeg jpeg2k kde kdeenablefinal ldap libg++ libwww lm_sensors lzo mad matroska mmx mmx2 mng monkey motif moznocompose mpeg mpeg2 mpi ncurses network nls nocd nptl nptlonly nvidia ogg oggvorbis openal opengl openssh oss pam pdflib perl pic png povray ppds python qt qtmt quicktime readline real rtc samba scanner sdl smime speex spell sqlite sse ssl tcpd tetex theora threads tiff transcode truetype truetype-fonts type1-fonts usb vcd videos vorbis wmf wxwindows xfs xine xinetd xml xml2 xmms xprint xv xvid xvmc yv12 zlib linguas_de" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL
With previous glibc only wget showed from umlauts, now this glibc breaks them all. I can still type them and apps show them as data, but console progs (on tty and kde konsole) eg nano won't show correct umlauts in messages or in menu (eg:Datei öffnen ^Y Seite zurÃck) With new glibc I added a few more userlocales, used kernel-headers 2.6.10 instead of 2.-6.8-rsomething and nptlonly LANG=de_DE@euro LC_CTYPE="de_DE@euro" LC_NUMERIC="de_DE@euro" LC_TIME="de_DE@euro" LC_COLLATE="de_DE@euro" LC_MONETARY="de_DE@euro" LC_MESSAGES="de_DE@euro" LC_PAPER="de_DE@euro" LC_NAME="de_DE@euro" LC_ADDRESS="de_DE@euro" LC_TELEPHONE="de_DE@euro" LC_MEASUREMENT="de_DE@euro" LC_IDENTIFICATION="de_DE@euro" LC_ALL= locale -a with previous glibc C de_DE de_DE@euro en_US en_US.utf8 POSIX locale -a with new glibc: C de_DE de_DE@euro de_DE.iso88591 de_DE.iso885915 de_DE.iso885915@euro de_DE.iso88591@euro de_DE.utf8 de_DE.utf8@euro deutsch en_US en_US.iso88591 en_US.iso885915 en_US.utf8 german POSIX Something odd I noticed with new glibc: If I type umlauts in tty/konsole the don't get printed immediately. Only when i press the next key, the get printed. So is glibc fsked up or was it due to using newer kernel headers? Oh btw, with new glibc gkrellm2-cpufrequ doesn't show the cpufrequ anymore. The slider still works though... sys-libs/glibc-2.3.4.20050125 [2.3.4.20041102] -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck +nptl +nptlonly* +pic +userlocales 0 kB Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51-r15 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.11-rc4-ck1 i686) ================================================================= System uname: 2.6.11-rc4-ck1 i686 AMD Athlon(tm) Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 09:39:56)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.6.3, 1.4_p6, 1.9.4, 1.8.5-r3, 1.7.9-r1 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.10 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -mtune=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -fweb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -mtune=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -fweb -fvisibility-inlines-hidden -fvisibility=hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache confcache digest distlocks prelink sandbox sfperms" GENTOO_MIRRORS=" ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="de_DE@euro" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,-z,combreloc -Wl,--relax" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/fluidportage/trunk /usr/lportage" SYNC="rsync://linux.rz.ruhr-uni-bochum.de/gentoo-portage/" USE="x86 3dnow 3dnowex S3TC X a52 aac acpi acpi4linux alsa apm audiofile avi berkdb bitmap-fonts bzip2 cdda cddb cdparanoia cdr crypt cups curl dga divx4linux dts dv dvb dvd dvdr dvdread edl encode ext-png ext-zlib faac faad fam ffmpeg fftw flac foomaticdb freetype gd gdbm gif gimp gimpprint gpm gs gtk gtk2 ieee1394 imagemagick imlib ipv6 ithreads java javascript jpeg jpeg2k kde kdeenablefinal ldap libg++ libwww lm_sensors lzo mad matroska mmx mmx2 mng monkey motif moznocompose mpeg mpeg2 mpi ncurses network nls nocd nptl nptlonly nvidia ogg oggvorbis openal opengl openssh oss pam pdflib perl pic png povray ppds python qt qtmt quicktime readline real rtc samba scanner sdl smime speex spell sqlite sse ssl tcpd tetex theora threads tiff transcode truetype truetype-fonts type1-fonts usb vcd videos vorbis wmf wxwindows xfs xine xinetd xml xml2 xmms xprint xv xvid xvmc yv12 zlib linguas_de" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL
I don't know if this is important, but I noticed that new glibc ebuild doesn't install anything in /usr/lib/locale/, while, with glibc-2.3.4.20041102, there were many directories and files. also /lib/libc.so.6 output misses The C stubs add-on version 2.1.2. GNU Libidn by Simon Josefsson
odd that nobody reported this during testing... Also, the locale info should be in /usr/share/locale. Is it there on your system? If you make a symlink from /usr/lib/locale to /usr/share/locale, does it work?
And you're right... for some reason it's not appearing in /usr/share/locale either. Odd. I'll look into this more. And on a side note, I've adedd the libidn addon back in in a revbump in my overlay...
It seems the data is now created in the /usr/lib/locale/locale-archive file (which I DO have on my system). http://lists.debian.org/debian-glibc/2003/03/msg00537.html Perhaps someone who knows more about localization could take a look at this.
I'm not sure if it's related, but when compiling the new glibc on a hardened system with grSecurity-kernel, the generation of the locales fails. There are hundrets of messages like these in /var/log/messages: Feb 16 16:34:20 earthdawn PAX: From 192.168.25.2: execution attempt in: <anonymous mapping>, 5d5b5000-5d5cd000 5d5b5000 Feb 16 16:34:20 earthdawn PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125/work/build-default-i686-pc-linux-gnu-nptl /elf/ld.so(ld.so):22117, uid/euid: 0/0, PC: 5d5c8f2c, SP: 5d5c8da8 Feb 16 16:34:20 earthdawn PAX: bytes at PC: b9 bc 94 5c 5d e9 5a ed aa aa 00 00 06 00 00 00 0a 00 00 00 Feb 16 16:34:20 earthdawn PAX: bytes at SP: 080789be 00000001 15477570 00000000 24ca2bd0 24ca1200 00000054 00000058 0000005c 000 0045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 157c6468 00000024 157c6508 00000024 Feb 16 16:34:22 earthdawn PAX: From 192.168.25.2: execution attempt in: <anonymous mapping>, 59228000-59240000 59228000 Feb 16 16:34:22 earthdawn PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125/work/build-default-i686-pc-linux-gnu-nptl /elf/ld.so(ld.so):16540, uid/euid: 0/0, PC: 5923c05c, SP: 5923bed8 Feb 16 16:34:22 earthdawn PAX: bytes at PC: b9 ec c5 23 59 e9 2a bc e3 ae 00 00 06 00 00 00 0a 00 00 00 Feb 16 16:34:22 earthdawn PAX: bytes at SP: 080789be 00000001 15810de0 00000000 25c7bbd0 25c7a200 00000054 00000058 0000005c 000 0045c 00000a6c 00000a70 00000a74 00000a74 00000a74 00000a74 1587f090 00000024 1587f130 00000024 Feb 16 16:34:25 earthdawn PAX: From 192.168.25.2: execution attempt in: <anonymous mapping>, 5f6b7000-5f6cf000 5f6b7000 Feb 16 16:34:25 earthdawn PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125/work/build-default-i686-pc-linux-gnu-nptl /elf/ld.so(ld.so):15486, uid/euid: 0/0, PC: 5f6caf8c, SP: 5f6cae08 Feb 16 16:34:25 earthdawn PAX: bytes at PC: b9 1c b5 6c 5f e9 fa cc 9a a8 00 00 06 00 00 00 0a 00 00 00 Feb 16 16:34:25 earthdawn PAX: bytes at SP: 080789be 00000001 17366e18 00000000 21115bd0 21114200 00000054 00000058 0000005c 000 0045c 00000a78 00000a7c 00000a80 00000a80 00000a80 00000a80 173c8e30 00000024 173c8ed0 00000024 Might be there's a tool to generate the locales broken ?
Created attachment 51350 [details] log of emerge -v glibc I noticed the removal of /usr/lib/locale files so I reverted immediately to the 2.3.4.20041102 tbz2, and I don't know if the missing files can create bugs like the ones in this report. I think I'll try later, when I'll have enough time to fix possible problem (but I hope there will not be any glitch). I've got a log of the emerge, in the attach there is the last part, with removed and installed files.
Prakash, do you have the /usr/lib/locale/locale-archive file on your system? Do you use grsecurity or selinux?
Yes, I saw that file. No, I am not using any security enhancements. (I'm back to previous glibc, btw.)
and perl is working fine for me... it doesn't complain about my locale (en_US.utf8), so maybe this is a de_DE specific problem...
I guess it is a problem for any other locale than en_US. I did a rebuild of glibc-2.3.4.20050125-r1 with -userlocales, and ended up with a 37 MB locale-archive. I also use de_DE. The locale-archive seems to contain all the locales built, from a to z, but since i cannot make out the endings of each LC-file, splitting it up manually is for me not doable. Maybe somebody finds a program for this. One workaround is to get the locales from a former version of glibc (2.3.4.20041102 for example), out of a .tbz2, which should work, i use that myself, and have umlauts on the console. I think /usr/share/locale is different from /usr/lib/locale, as it is a place where other programs put their own translations into (mo-files). localedef doas also not work, since there are no locales installed, and it cannot use locale-archive (at least on my computer).
There could be the possibility that even an earlier glibc started breaking this or I have another bug: I recently switched to de_DE.utf8. I noticed thunderbird and firefox began crashing. Very easily by doing: thunderbird mailto: Last lines of strace are: waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], 0) = 17592 fstat64(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3ad4d000 open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/de/LC_MESSAGES/libc.mo", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=123181, ...}) = 0 mmap2(NULL, 123181, PROT_READ, MAP_PRIVATE, 3, 0) = 0x3ad4e000 close(3) = 0 write(2, "/usr/bin/thunderbird: line 88: 1"..., 74/usr/bin/thunderbird: line 88: 17592 Speicherzugriffsfehler $mozbin "$@" ) = 74 rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(-1, 0xafffdafc, WNOHANG) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) rt_sigaction(SIGINT, {SIG_DFL}, {0x80778c0, [], 0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 munmap(0x3ad4d000, 4096) = 0 munmap(0x3ad4c000, 4096) = 0 exit_group(0) = ? So I thought something wrong with my locales. I deleted everything in /usr/shar/locale and /usr/lib/locale and reemerged glibc-2.3.4.20041102 with userlocales. locale -a gives me: C de_DE@euro de_DE.utf8 en_US en_US.utf8 POSIX locale gives me: LANG=de_DE.utf8 LC_CTYPE="de_DE.utf8" LC_NUMERIC="de_DE.utf8" LC_TIME="de_DE.utf8" LC_COLLATE="de_DE.utf8" LC_MONETARY="de_DE.utf8" LC_MESSAGES="de_DE.utf8" LC_PAPER="de_DE.utf8" LC_NAME="de_DE.utf8" LC_ADDRESS="de_DE.utf8" LC_TELEPHONE="de_DE.utf8" LC_MEASUREMENT="de_DE.utf8" LC_IDENTIFICATION="de_DE.utf8" LC_ALL=de_DE.utf8 But eg nano, wget are in English! Before I deleted above dirs, everything except the crashing was fine in utf8 I checked the dirs after I reemerged glibc: ll /usr/lib/locale/ total 16K drwxr-xr-x 3 root root 4,0K Feb 22 14:35 de_DE@euro drwxr-xr-x 3 root root 4,0K Feb 22 14:35 de_DE.utf8 drwxr-xr-x 3 root root 4,0K Feb 22 14:35 en_US drwxr-xr-x 3 root root 4,0K Feb 22 14:35 en_US.utf8 drwxr-xr-x 3 root root 24 Feb 22 14:29 ru_RU (Why the heck is russian build? I didn't ask for it.) ll /usr/share/locale/ total 4,0K drwxr-xr-x 3 root root 24 Feb 22 14:29 de -rw-r--r-- 1 root root 2,5K Feb 22 14:35 locale.alias Is this normal? I don't think so.... Well, I try to get back my locale manually using localedef...and hope tb and ff crashing will go away...
Grrr... I neither get back my german uft8 enconding nor can prevent tb from crashing ("thunderbird mailto:"). Well, I am trying to compile previous glibc w/o userlocales... This isn't funny. :-( Is glibc the only package responsible for the locale?
OK, I amnot anymore sure that this locale stuff is related to my problem with tb. Maybe just coincidence, but at least I got my german encoding back with previous glibc: Stupid user error: I needed to reemerege nano 'n stuff, as I deleted the translations...
Hmm, something is strange: I gave glibc-2.3.4.20050125 another try and this time I do have de_DE.utf8 locale! At least it seems like that: nano shows German and Umlaute correctly. But switching to another locale doesn't seem to work. I tried LANG=en_US.utf8 LC=en_US.utf8 nano and it is still German. LC_ALL=C nano is English though... BTW, i managed to fix TB. I don't know exactly how, but unmerging, deleting its dir by hand, and remerging seemed to work...
@Prakash Punnoor Well, I guess you are on the wrong track here. If you compile nano with nls support, it surely provides nls, that means it provides for example a german translation. It should definitely change to english, if you set LC_ALL or LANG to english. If it doesn't, well, there is something wrong. I have compiled glibc-2.3.4.20050125-r1 (the version with fedora stuff and omitfp) with userlocales today, still no directories with locales(de_DE), just the locale-archive. The bug is still there. The locales seem to be generated, but the file "locale-archive" is probably inaccessible. localedef does not work, because there is no locale as a base, to create de_DE.UTF-8 one needs /usr/lib/locale/de_DE/ , which is not there with this version of glibc.
*** Bug 83363 has been marked as a duplicate of this bug. ***
Bumping this severity as I want this fixed or atleast answered before I unmask 2.3.4.20050125-r1 Matthias, you say that the data in the locale-archive is inaccessible. What do you get when you run: localedef --list-archive And what options are you passing to localedef that it is giving you an error? It works fine for me with en_US.utf8 (granted that's not a great test candidate, but still...)
Well, I tested it once with a build of glibc-2.3.4.20050125 or -r1, and there was no directory created named de_DE.UTF-8. Only the locale-archive. @Jeremy Huddleston I will test it today and i hope i can report on that tomorrow(Friday). Thanks for this hint with localedef. I guess i should also use locale -a once to check the ouptput there. Most of the problems i encounter right now are with MidnightCommander, where umlauts are not displayed correctly. Since i use KDE most of the time, and ebuilds and other commands for the shell do not contain umlauts in their names, i do not have major problems with locales right now.
The locale directory doesn't exist any more because glibc moved to containing all of it within the one archive. It is quite possible some other tools don't play nicely with this, but I haven't hit a problem (although I remind you my locale is en_US.utf8, so I won't hit most of the problems). Additionally, my understanding of localization is quite limited, so I apologize about that.
Problem solved for me. I have tested it yesterday(Thursday). I did a locale -a , and it showed me all the locales i had defined in locales.build (plus the usual POSIX and C). So they seem to be all in the file locale-archive. Then i deleted all the locales from /uar/lib/locale i copied there from another, former version of glibc. Then a root console (bash) did not recognize umlauts properly anymore. Then is used localedef -v --no-archive -i de_DE -f UTF-8 de_DE.UTF-8 and that gave me a directory de_DE.utf8 in /usr/lib/locale, and after that umlauts did work again. The -v is not needed, just to be verbose. Before that i tried to define other locales without the option --no-archive, as a test, for example en_US.UTF-8, but the file locale-archive was not bigger afterwards if i remember it right It seems the option "--no-archive", which is neither mentioned in the man-page nor in the info-page of localedef (just like the other archive-options), did the trick. The newly created locale not inside the locale-archive is obviously better accessable than the locales in the archive, at least by some programs. Information on how to use --no-archive can be obtained by typing localedef --help . Now it seems I do have proper support for my locale (de_DE.utf8) again. Bash recognizes umlauts again. If any other error occurs, i will mention it here. Problem solved.
Ok, I've made a patch to use --no-archive when building the locales, and I'm testing it in my local patchset along with a couple other patches that will become patchset 1.7. This is the last regression issue, so if everything goes well, I'll upload the patchset and remove -r1 from package.mask later today/tomorrow. Thanks for the help.
Can you please remove your hand-made locales and emerge -r1 again. You should check that it uses the version 1.7 patchset. This should use the --no-archive option when creating the locales. If this is fixed, then I'll close this bug and remove -r1 from package.mask.
Does r1 already contain gcc4 fixes?
Yes, gcc4 fixes are in there as well
Of course i will test it. With the patchset 1.5 i still had one weird problem. When using konsole from kde-3.4-rc1, i could type umlauts without problems, but when hitting backspace and typing for example "emerge" (without colons), i would get the error command not found, with the word emerge having one special sign in it, the on you get when trying to type umlauts without having a proper locale activated. On the console there is not shown this sign, the word emerge looks ok. When typing emerge on that konsole without typing and deleting umlauts before, everything is fine, so this is a minor problem for me. @Prakash: Maybe you can verify this, or correct me.
@Matthias I don't have this problem I typed
@Matthias I don't have this problem I typed öä<bs><bs>emerge<enter> and it worked.
So, I emerge r1 and my German locale is still OK. Fine. But I have other locales installed, as well: locale -a C de_DE@euro de_DE.utf8 en_US en_US.utf8 POSIX Why doesn't eg nano install data for other locales? Is this normal? If yes, everything is fine I guess.
glibc uses /etc/locales.build if you have USE=usertlocales. If not, it builds everything. I'm not sure what nano does, but that's something to take up with nano's devs. Glad this is finally fixed =)
I had that problem too, i use the hungarian locales for my mother language. But this command didn't worked for me: minerva share # localedef -v --no-archive -i hu_HU -f UTF-8 hu_HU.UTF-8 /usr/share/i18n/locales/hu_HU:35: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:36: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:37: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:39: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:42: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:43: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:44: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:45: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:47: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:48: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:49: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:50: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:51: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:52: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:53: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:54: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:55: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:56: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:57: non-symbolic character value should not be used /usr/share/i18n/locales/hu_HU:62: non-symbolic character value should not be used /usr/share/i18n/locales/i18n:1107: non-symbolic character value should not be used /usr/share/i18n/locales/i18n:1313: non-symbolic character value should not be used /usr/share/i18n/locales/i18n:1345: non-symbolic character value should not be used /usr/share/i18n/locales/i18n:1373: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:10: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:11: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:12: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:13: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:14: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:15: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:16: non-symbolic character value should not be used /usr/share/i18n/locales/translit_neutral:17: non-symbolic character value should not be used LC_NAME: field `name_gen' not defined LC_NAME: field `name_mr' not defined LC_NAME: field `name_mrs' not defined LC_NAME: field `name_miss' not defined LC_NAME: field `name_ms' not defined LC_ADDRESS: field `country_name' not defined LC_ADDRESS: field `country_post' not defined LC_ADDRESS: field `country_car' not defined LC_ADDRESS: field `country_isbn' not defined LC_ADDRESS: field `lang_name' not defined LC_ADDRESS: field `lang_term' not defined LC_ADDRESS: field `lang_ab' not defined LC_IDENTIFICATION: field `audience' not defined LC_IDENTIFICATION: field `application' not defined LC_IDENTIFICATION: field `abbreviation' not defined LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT' no output file produced because warning were issued minerva share # And my locales list gives this: minerva share # locale -a locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory C POSIX minerva share # My locales-archive list gives this: minerva share # localedef --list-archive minerva share # In the Gentoo Linux Localization Guide there is a command to build non existent locales: minerva share # localedef -c -i hu_HU -f ISO-8859-2 hu_HU.ISO-8859-2 Killed minerva share # "Killed" means that the PAX (grsecurity) in my hardened kernel killed the program, but if i unset the pax flags it killed too, and there isn't anything about this killing in the syslog. I don't understand this... You set this bug to the "RESOLVED FIXED" status, but if i recompile the glibc, this locale problem exist henceforward, so the second thing i don't understand is why this bug is in that status. After all how are you fix this bug?? my emerge info if anybody needs it: minerva share # emerge info Portage 2.0.51.19 (hardened/x86/2.6, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-hardened-r1-minerva-02 i686) ================================================================= System uname: 2.6.11-hardened-r1-minerva-02 i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Feb 17 2005, 21:07:35)] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r6 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -mtune=athlon-xp -msse -mfpmath=sse -m3dnow -pipe -fPIC -mmmx -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/mail/dspam /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mtune=athlon-xp -msse -mfpmath=sse -m3dnow -pipe -fPIC -mmmx -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache digest distlocks fixpackages sandbox" GENTOO_MIRRORS="http://gentoo.mirror.icd.hu/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://mirror.nutsmaas.nl/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://212.219.56.146/sites/www.ibiblio.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/" LANG="hu_HU.utf8" LC_ALL="hu_HU.utf8" MAKEOPTS="-j2" PKGDIR="/usr/portage//packages/x86/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="16bit 3dnow 3dnowex 3ds S3TC X Xaw3d aac aalib acl acpi acpi4linux activefilter adns alsa amd apache2 arts artswrappersuid asm audiofile avi bash-completion bcmath bdf berkdb bind-mysql bitmap-fonts bmp bootsplash bzip2 bzlib cap caps cdb cdda cddb cdinstall cdparanoia cdr cdrom chroot clamav codecs cracklib crypt css ctype cups curl curlwrappers cyrus devmap dhcp directfb distribution divx4linux dlloader dlz dpms dts dvb dvd dvdr dvdread encode erandom esd ethereal evms2 exif extensions fam fastcgi fb fbcon flac flash flood font-server fortran freetype ftp gd gdbm geoip ggi gif gimp gimpprint gmp gphoto2 gpm gtk gtk2 gtkhtml guile hardened http iconv idled ieee1394 imagemagick imap imlib inifile innodb intl ipv6 isdn jack java javascript jp2 jpeg jpeg2k junit justify jython kde lcd lcms ldap libg++ libwww lm_sensors logitech-mouse lzo lzw lzw-tiff mad memlimit mhash mikmod mime mjpeg mmap mmx mmx2 motif mp3 mpeg mpeg4 mpi mplayer mppe-mppc msn mysql nagios-dns nagios-ntp nagios-ping nagios-ssh nas ncurses network nls nptl nptlonly nvidia oav objc oggvorbis opengl pam pcntl pcre pdflib pear-db perl pg-hier pg-intdatetime pg-vacuumdelay php pic pie png pnp posix postgres python qt quicktime quotas readline real recode rpc rrdtool samba sasl scanner sdl sftplogging simplexml slang sndfile snmp sockets sox speex spell sse sse2 ssl svg svga symlink sysvipc tcltk tcpd tetex tiff transparent-proxy truetype truetype-fonts type1 type1-fonts underscores unicode ups usb utf8 v4l v4l2 vhosts virus-scan vnc wxwindows x86 xfs xine xinetd xml xml2 xmlrpc xmms xosd xpm xprint xscreensaver xsl xslt xv xvid zlib linguas_hu linguas_en" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS
I searched my portage log for the word "Killed", and i found this line: hu_HU.UTF-8.../bin/sh: line 1: 26753 Killed I18NPATH=. GCONV_PATH=/var/tmp/portage/glibc-2.3.4-20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/iconvdata LC_ALL=C /var/tmp/portage/glibc-2.3.4-20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/ld.so --library-path [...dirs cutted from here...] /var/tmp/portage/glibc-2.3.4-20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/locale/localedef --no-archive --alias-file=../intl/locale.alias -i locales/$input -c -f charmaps/$charset --prefix=/var/tmp/portage/glibc-2.3.4-20050125-r1/image/ $locale I copy this by my hand, so i cut the long dirs list. This was at the end (99%) of my 14 MB long log file. It seems to me, to my problem is hardened specific. Is it possible to there are two bugs with one (the same) result (the same error)?
@Jeremy Huddleston : I think there are still some issues with it(although minor ones). I have recompiled glibc-2.3.4.20050125-r1 with patchset 1.7 against linux-headers-2.6.11, all locales defined in locales.build were made, localedef worked also(added iso-8859-15 and -1). Xterm does not show the problem i have described in my last post(with the umlauts), but konsole of kde3.4 still does(still not such a big problem). @ T
@Jeremy Huddleston : I think there are still some issues with it(although minor ones). I have recompiled glibc-2.3.4.20050125-r1 with patchset 1.7 against linux-headers-2.6.11, all locales defined in locales.build were made, localedef worked also(added iso-8859-15 and -1). Xterm does not show the problem i have described in my last post(with the umlauts), but konsole of kde3.4 still does(still not such a big problem). @ Tóth Csaba : localedef -v --no-archive -i hu_HU -f UTF-8 hu_HU.UTF-8 did not work for me either(sorry for posting this, it's incomplete). I forgot -c. When posting here i was not at my Gentoo-box.
I also have some issues here. Locales/UTF-8 doesn't work. Also with hardened sources including PAX I see the following (as already mentioned before). ----------------------------------- PAX: execution attempt in: <anonymous mapping>, 5fe51000-5fe6a000 5fe51000 PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/elf/ld.so(ld.so):29024, uid/euid: 0/0, PC: 5fe650ac, SP: 5fe64ed8 PAX: bytes at PC: b9 3c 56 e6 5f e9 3a 2b 21 a8 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 172c2608 00000000 22c02730 22c00540 00000054 00000058 0000005c 0000045c 00000a6c 00000a70 00000a74 00000a74 00000a74 00000a74 17323bf8 00000010 17323c80 00000010 PAX: execution attempt in: <anonymous mapping>, 5ab35000-5ab4d000 5ab35000 PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/elf/ld.so(ld.so):4502, uid/euid: 0/0, PC: 5ab48aac, SP: 5ab488d8 PAX: bytes at PC: b9 3c 90 b4 5a e9 3a f1 52 ad 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 14838c50 00000000 226c2730 226c0540 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 14b879d8 00000010 14b87a60 00000010 PAX: execution attempt in: <anonymous mapping>, 597b1000-597c9000 597b1000 PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/elf/ld.so(ld.so):1013, uid/euid: 0/0, PC: 597c497c, SP: 597c47a8 PAX: bytes at PC: b9 0c 4f 7c 59 e9 6a 32 8b ae 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 139ed448 00000000 25ea6730 25ea4540 00000054 00000058 0000005c 0000045c 00000a6c 00000a70 00000a74 00000a74 00000a74 00000a74 13a5b338 0000000c 13a5b3c0 0000000c PAX: execution attempt in: <anonymous mapping>, 59e49000-59e61000 59e49000 PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/elf/ld.so(ld.so):16679, uid/euid: 0/0, PC: 59e5c5bc, SP: 59e5c3e8 PAX: bytes at PC: b9 4c cb e5 59 e9 2a b6 21 ae 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 1346b668 00000000 24d00730 24cfe540 00000054 00000058 0000005c 0000045c 00000a78 00000a7c 00000a80 00000a80 00000a80 00000a80 134cd3e0 0000000c 134cd468 0000000c PAX: execution attempt in: <anonymous mapping>, 5e67c000-5e694000 5e67c000 PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-nptl/elf/ld.so(ld.so):21054, uid/euid: 0/0, PC: 5e68f6ec, SP: 5e68f518 PAX: bytes at PC: b9 7c fc 68 5e e9 fa 84 9e a9 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 1516c3d0 00000000 25d12730 25d10540 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 154bb0f8 0000000c 154bb180 0000000c PAX: execution attempt in: <anonymous mapping>, 5b527000-5b53d000 5b527000 PAX: terminating task: /usr/sbin/iconvconfig(iconvconfig):14170, uid/euid: 0/0, PC: 5b53ac74, SP: 5b53ab50 PAX: bytes at PC: b9 c8 ac 53 5b e9 12 ef b0 ac 08 08 00 00 00 00 01 00 00 00 PAX: bytes at SP: 24c60802 08078f98 00000000 00000000 08051f18 08051f18 08078f98 00000003 08049ea0 08078f98 5b53ac74 00000001 08077200 080743f8 08051f18 08077258 73752f2f 696c2f72 63672f62 2f766e6f --------------------------------------------- USE flag userlocales is set and /etc/locales.build has: en_US/ISO-8859-1 en_US.UTF-8/UTF-8 de_DE/ISO-8859-1 de_DE@euro/ISO-8859-15 de_DE.UTF-8/UTF-8 just when I do "locale -a" I get: #locale -a locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory C POSIX ok, then trying localedef: # localedef -i de_DE@euro -f UTF-8 de_DE.utf8 ------ dmesg: ---------------- PAX: execution attempt in: <anonymous mapping>, 5f52d000-5f542000 5f52d000 PAX: terminating task: /usr/bin/localedef(localedef):4455, uid/euid: 0/0, PC: 5f540fbc, SP: 5f540de8 PAX: bytes at PC: b9 4c 15 54 5f e9 2a 6c b3 a8 00 00 06 00 00 00 0a 00 00 00 PAX: bytes at SP: 0807888e 00000001 08e21070 00000000 23b37730 23b35540 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 0916f810 0000000c 0916f898 0000000c ------------------------------------ Ups... ;-)
your pax problem is unrelated, see Bug 85718
No more problems with my main box. All the locales i desired are there, all the programs i use have their proper german translation. My server, an old k6-2, still has problems with locales. locale -a shows the same locales as my main computer (they have an identical locales.build), but the MidnightCommander is still english, and doing a make_install with a new kernel results in a perl error message, something locale not found. The computer is still usable, so this is no big issue for me. Konsole and/or bash do not have the error i described above anymore.