Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12856 - after emerge rsync, emerge -u system the locale doesn't work anymore
Summary: after emerge rsync, emerge -u system the locale doesn't work anymore
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-28 16:04 UTC by Sascha Wuestemann
Modified: 2003-02-18 06:21 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sascha Wuestemann 2002-12-28 16:04:22 UTC
date:2002, dec. 28 (compilation started dec. 27)

I noticed this by using a perlscript, that warns:"perl: warning: Setting locale
failed". I tried several locale settings, but the error remained.

After reading perllocale, I looked for the tips about system locations of the
locale and found out the following:

/usr/lib/locale contains only 26 directories, all 2 letters except one with 4
and underscore

a backup contains 158 directories, all 4 with underscore and several with @euro
attached, where locale worked perfectly.

FYI emerge info:
---schnipp---
Portage 2.0.46-r4 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2)
=================================================================
System uname: 2.4.19-crypto-r7 i586 AMD-K6(tm) 3D processor
USE="x86 oss 3dnow apm arts gif gnome libg++ mikmod mmx ncurses nls pdflib png
qtmt spell truetype xmms xv berkdb slang readline svga tcltk java X sdl gpm tcpd
libwww perl python esd imlib oggvorbis gtk qt motif opengl -cups avi mpeg
quicktime ggi encode pam ssl crypt mysql postgres innodb gdbm acl samba zlib
jpeg xml xml2 dvd aalib gd snmp -kde -sse"
ARCH="x86"
COMPILER="gcc3"
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
MAKEOPTS="-j2"
JDK_HOME="/opt/blackdown-jdk-1.3.1"
JAVA_HOME="/opt/blackdown-jdk-1.3.1"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
---schnapp---

I wonder about the x86 setting in the USE variable, see my current make.conf:
---schnipp---
USE="-cups avi mpeg quicktime ggi encode pam ssl crypt mysql postgres innodb
gdbm acl samba zlib jpeg xml xml2 dvd aalib gd snmp -kde -sse"
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
PORTAGE_TMPDIR=/mnt/hdc3/portage/tmp
DISTDIR=/mnt/hdc3/portage/distfiles
PKGDIR=/mnt/hdc3/portage/packages
---schnapp---

I was using the ACCEPT_KEYWORDS="~x86" before, but aborted emerge -u system,
when I noticed that an unstable gcc would be installed, remarked the
ACCEPT_KEYWORDS and emerge -u system again. emerge info was created without
ACCEPT_KEYWORDS in my make.conf as you can see above.

What can I do to get locale have all its directories needed in /usr/lib/locale?
I could not find a corresponding package when searching for locale or nls.

greetings and a happy new year,
Sascha
Comment 1 Sascha Wuestemann 2003-01-21 14:49:19 UTC
In between I added "nls" to my USE-Variable in the hope, this will fix my 
broken locale and reinstalled glibc. But I had no succes.

I'd relly appreciate help with my problem, because it is not only me annoying 
but my email partners, too.

thanx in advance, Sascha
Comment 2 Nicholas Jones (RETIRED) gentoo-dev 2003-02-03 06:36:43 UTC
I don't do nls. Can someone take this?
Comment 3 Roman Majer 2003-02-03 12:28:09 UTC
and what is the output of your

# cd /usr/share/locale ; ls | wc -l

??
It should be 71...
Comment 4 Seemant Kulleen (RETIRED) gentoo-dev 2003-02-12 23:39:55 UTC
sascha, well?
Comment 5 Sascha Wuestemann 2003-02-13 08:26:26 UTC
Hi, sorry for the delay, I am still there :)

ok, `cd /usr/share/local/; ls | wc -l` gives 75
on two other gentoo systems it gives 73, there the locale works fine.

...To be honest, the system with my locale problem from 20021228 has died because of a harddisk failure. I could save a lot from the partitions but not the whole thing, so I stepped back to the backup 20021216 which is the one, I have made before and because of my "emerge -u system" which lead to my locale problems.

If you are willing to do forensics on what is left, it is ok. I would even do a "emerge -u system" for you to test if the locale breaks again - which would last a couple of days because the computer is 300Mhz slow.

So, suggest what's best.

greetings,
Sascha
Comment 6 Seemant Kulleen (RETIRED) gentoo-dev 2003-02-13 08:40:57 UTC
according to roman, remerge glibc...
Comment 7 Sascha Wuestemann 2003-02-13 08:59:28 UTC
I did `emerge -u system` at 20021227 and for some packages failures at 20021228 again.
I then have done `emerge glibc`at 2003017` twice successfully, but I think I can remember setting NLS off and on with no difference, the problem resists.

/usr/lib/locale still just contained 26 directories instead of more than 100

would have re-emerging gettext made any difference?
Comment 8 Roman Majer 2003-02-13 10:01:13 UTC
ok.. WE HAVE SOME PROBLEMS IN NAMING OF DIRS!!!

in /usr/lib/locale is only one file locale-archive
this file is created by glibc...

then there is directory /usr/share/locale where are about 75
directories mainly two-letters (languages) and file locale.alias
to this directories are apps going to place their .mo files (when
USE="nls" configured) ... but main structure is created by glibc...

then directory /usr/share/i18n/locales where is about 185 FILES
mainly in format like cs_CZ or de_DE@euro
this files are created by glibc...

you can easily check the important dirs by
localedef --help

please confirm all this and if not , do 
emerge -e glibc
Comment 9 Roman Majer 2003-02-13 10:03:59 UTC
and also what variables you use for setting of locale ??

there are mainly two used:

LANG
LC_ALL

and it must be setuped by ISO..!!!
LANG=de_DE
LC_ALL=de_DE

please unset all other variables in your shell (LANGUAGE, LC_XX etc)
and try...

please remember, that setting up locale for root account is not wice,
please use it only as the user
Comment 10 Sascha Wuestemann 2003-02-13 11:49:29 UTC
Hi, 

no we come closer to the suspected error.

there is no /usr/share/i18n directory

Does this lead to the locale errors? I think so. But how does `emerge -u system` containing an update of glibc ([ebuild    U ] sys-libs/glibc-2.3.1-r2 [2.2.5-r6]) refusing creating this directory? Was it the missing NLS at the use variable? And why does rebuilding glibc with NLS set behaves the same?

Unfortunately I can only look up at the tar archives of the system for files which I could save after the harddisk failure, so I can't execute the commands you advise.

Ok, here is how I come to my locale settings:
After the very first install I changed /etc/rc.config to this:
13: KEYMAP="de-latin1"
22: CONSOLEFONT="default8x16"
28: CONSOLETRANSLATION="8859-1_to_uni"
35: CLOCK="local"
53: PROTOCOLS="1 2"

which worked fine. I was fiddling with setting locale when they were lost with no succes.

root's and user's locale are all "de_DEiso88591" and so they were when doing the `emerge -u system` ...this was bad?

greetings, Sascha
Comment 11 Seemant Kulleen (RETIRED) gentoo-dev 2003-02-18 05:54:27 UTC
Roman, comments?
Comment 12 Roman Majer 2003-02-18 06:06:46 UTC
again

As I said before...

All "system" locale files are created by
glibc

1. unset ALL laocale settings for root account
  I mean when set command is done, in list has not to be
  any variable like LANG, LANGUAGE, and all LC_xxx variables.

2. emerge glibc

3. try command locale -a, which has to list all locales defined
by glibc

4. make sure you have in /usr/share/i18n/ the dirs locales and charmaps

5. read localistion howto

6. read man locale

7. setup the locales

8. Bad locale setting for account root can destroy emerge process !!!

9. better to unset all locale definition for root account
Comment 13 Seemant Kulleen (RETIRED) gentoo-dev 2003-02-18 06:21:59 UTC
closing