[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New uncompatible locale system with glibc2.2 ?



Raphael Hertzog <rhertzog@hrnet.fr> writes:

...
> Since glibc2.2 has been uploaded, the packages using gettext compiled with
> glibc2.1 are no more able to output translated strings with diacritic
> signs (eacute (é) and so on for french people for example) ... instead
> we see "?" ...
> 
> A simple recompile of the affected packages and it works again but it's a
> pain ... it means all i18ned apps needs to be recompiled with glibc2.2
> just to work correctly again.
> 
> Does anybody know why it has to be this way ? Is there something else we
> can do ? Is this a bug or a known problem that we can't bypass because of
> a internal redesign or something like that ?

I can't believe recompiling makes them work..  It's not such a
problem.

This problem occurs when a program (1) uses gettext, but (2) does not
call proper setlocale() for LC_CTYPE (or LC_ALL, which includes
LC_CTYPE).  This is because that glibc does some charset conversion
over the translated messages, so that the one .MO file could be used
for all the locales that have only different charsets.

I don't know which one is buggy, glibc or the programs.  glibc does
not handle this situation.  But anyway LC_MESSAGES depends on LC_CTYPE
in some way.

-- 
Changwoo Ryu



Reply to: