lkml.org 
[lkml]   [2011]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Linux 3.0.1 compile problem on different locales..
From
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@gmail.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 ?

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@gmail.com>:
>> Hi,
>>
>> [Added linux-kbuild@ to the CC list.]
>>
>> 2011/8/15 Serdar KÖYLÜ <s.koylux@gmail.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@localhost 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@vger.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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2011-08-16 02:07    [W:0.039 / U:0.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site