[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACqU3MW6OGJnasbbwY+MNRjed5+vk-KJGQ1jsTYfJcMEO6gAQA@mail.gmail.com>
Date: Mon, 15 Aug 2011 21:47:12 -0400
From: Arnaud Lacombe <lacombar@...il.com>
To: Serdar KÖYLÜ <s.koylux@...il.com>
Cc: LKML <linux-kernel@...r.kernel.org>, linux-kbuild@...r.kernel.org
Subject: Re: Linux 3.0.1 compile problem on different locales..
Hi,
2011/8/15 Arnaud Lacombe <lacombar@...il.com>:
> Hi,
>
> [Please do not reply only to me, it's considered rude for people on
> the public mailing list.]
>
> 2011/8/15 Serdar KÖYLÜ <s.koylux@...il.com>:
>> Dist: MDV 2010.1, but very tweaked manually..
>>
>> bash-3.2$ set |grep LC
>> LC_ADDRESS=tr_TR.UTF-8
>> LC_COLLATE=tr_TR.UTF-8
>> LC_CTYPE=tr_TR.UTF-8
>> LC_IDENTIFICATION=tr_TR.UTF-8
>> LC_MEASUREMENT=tr_TR.UTF-8
>> LC_MESSAGES=tr_TR.UTF-8
>> LC_MONETARY=tr_TR.UTF-8
>> LC_NAME=tr_TR.UTF-8
>> LC_NUMERIC=tr_TR.UTF-8
>> LC_PAPER=tr_TR.UTF-8
>> LC_SOURCED=1
>> LC_TELEPHONE=tr_TR.UTF-8
>> LC_TIME=tr_TR.UTF-8
>> MAILCHECK=60
>>
>>
> he... obvious:
>
> SYNOPSIS
> #include <ctype.h>
>
> int toupper(int c);
> int tolower(int c);
>
> BUGS
> The details of what constitutes an uppercase or lowercase
> letter depend on the current locale. For example, the default "C"
> locale does not know about umlauts, so no conversion is done for them.
>
> In some non-English locales, there are lowercase letters with
> no corresponding uppercase equivalent; the German sharp s is one
> example.
>
>
> Is Turkish such a corner case where the capital I has no lowercase equivalent ?
>
here it is:
http://en.wikipedia.org/wiki/Turkish_dotted_and_dotless_I
So I'd assume that English capital 'I' is treated as a dotless-i,
however, its lowercase 'i' is a dotted-i. It is unclear (to me) what
character set's value is meant to be returned by tolower(3). If, it's
ASCII, I'd assume the Turkish lowercase-dotless-i should able to be
represented and thus we ends up with the original argument being
returned.
- Arnaud
> I guess we should reset the locale to C when generating
> include/config/ files, it'd be better than re-inventing our special
> case wheel.
>
> Thanks,
> - Arnaud
>
>> 2011/8/16 Arnaud Lacombe <lacombar@...il.com>:
>>> Hi,
>>>
>>> [Added linux-kbuild@ to the CC list.]
>>>
>>> 2011/8/15 Serdar KÖYLÜ <s.koylux@...il.com>:
>>>> FYI.
>>>>
>>>> I download latest stable version and try compile it. But process
>>>> terminated with an error message, such as:
>>>>
>>>> error config/modversions.h, file or directory not found (Message is my
>>>> original language, in Turkish).
>>>>
>>>> I check manually this file, found it as:
>>>>
>>>> foo/linux-3.0.1/include/config/modversIons.h
>>>>
>>>> And all other "i" chars, translated into "I" chars. I run a grep, find this:
>>>>
>>>> [root@...alhost kconfig]# grep -in tolower *.c
>>>> confdata.c:730: c = tolower(c);
>>>>
>>>> I set env. vars such as "LC_CTYPE=C" manually, retry compile kernel,
>>>> yes, it's compiled now.
>>>>
>>>> I don't know best solutions for this problem. A solutions can be write
>>>> some warnings in related documents. An other solution, make a patch,
>>>> such as:
>>>>
>>>> - confdata.c:730: c = tolower(c);
>>>> +#define TOLOWER(x) ((x) | 0x20)
>>>> +confdata.c:730: c = TOLOWER(c);
>>>>
>>>> or makefiles set locale to "C". I don't sure best solution. But this
>>>> problem occured in turkish and can be occurred other langs.
>>>>
>>> What is the Turkish locale you were using originally ?
>>>
>>> Thanks,
>>> - Arnaud
>>>
>>>> Thanks, best regards..
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>>> the body of a message to majordomo@...r.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>> Please read the FAQ at http://www.tux.org/lkml/
>>>>
>>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists