[Armadillo:08495] Re: ロケールでエラー(Armadilloー440)

watanabe email@hidden
2012年 12月 27日 (木) 11:19:11 JST


渡辺です。

現行のatmark-dist-20121023を調べてみたら、
いくつかXSupportsLocale()を使用しているモジュールが
ありました。
winClipboardProc()、winMultiWindowXMsgProc()、
winInitMultiWindowWM()
で、XSupportsLocale()を使用していているようです。
これらは、Threadのようで、XSupportsLocale()でエラー
になると、Threadを停止するようなコードです。

1)これらの関数では、XSupportsLocale()でエラーに
 ならないのでしょうか?
2)これらの関数内の、XSupportsLocale()を呼ぶ前の処理、
 winClipboardProc()のThreadを作成する前の処理を
 調べたのですが、Localeに関する処理は見つけられ
 ませんでした。1)でエラーにならないとしたら、
 どの処理でLocaleの設定を行っているのでしょうか?

以上、どうぞよろしくお願い致します。


(2012/12/26 14:01), watanabe wrote:
> 渡辺です。
> 
> 件名を変更しました。
> 
> XCreateFontSetでエラーになっているのかと調べましたが、
> やはりロケールでエラーになっているため、XCreateFontSetでも
> エラーになっているようです。
> 
> 気分を一新して、デフォルト状態ではどうなっているかを
> 調べてみました。
> Armadillo-440を出荷状態に戻してから、
> XSupportsLocale()を行うPRGを作成して実行してみたら、
> その状態でエラーになってしまいました。
> DISTはdebianではなく、Atmark-distを使用しています。
> 
> 以下についてご教示ください。
> 2)はArmadilloについての質問ではなく、LINUXに関する質問に
> なってしまうかも知れませんがご容赦ください。
> 
> 1)Armadilloのデフォルトではx11を使用しているが、ロケールは
>  設定していないのでしょうか?
> 2)ロケールデータは、usr/share/localeからusr/lib/localeに
>  アーカイブで作成され、最終的には"/etc/defaults/locale"
>  でPAMによって利用されるようになる(と書いてありました)。
>  Atmark-distではPAMなる物をサポートしていますでしょうか?
>  サポートしていないとすると、ロケールはどのように設定すれば
>  良いのでしょうか?
> 
> 以上、どうぞよろしくお願い致します。
> 
> (2012/12/21 17:38), watanabe wrote:
>> 渡辺です。
>>
>> 先程の質問ですが、自己解決しました。
>> どうもお騒がせしました。
>> my-product/config.linux-2.6.xを直接いじることにより、
>> 32Mから64Mに変更されて、無事にブート出来ました。
>>
>> しかし。。。
>>
>> 本来は
>> setlocale(LC_TYPE, "");
>> XSupportsLocale()でエラーになってしまう対策で
>> ロケールの環境を作成していましたが、結局駄目でした。
>>
>> 現在の設定は、
>> usr/lib/locale/locale-archive
>> usr/share/locale/en
>> usr/share/locale/ja
>> としました。ATDEにはusr/share/locale以下に沢山のフォルダ
>> があったのですが、そんなに入れられないので、フォルダ名から
>> これだろうと見当を付けて、enとjaだけにしました。
>>
>> その結果、
>> setlocale(LC_TYPE, "");
>> では"C"が返ってきますが、
>> XSupportsLocale()では、相変わらずNULLが返ってきます。
>> まだlocaleの設定が悪いのでしょうか?
>>
>>
>> (2012/12/21 16:40), watanabe wrote:
>>> 渡辺です。
>>>
>>> 回答ありがとうございます。
>>> LINUXに不慣れなため、確認に時間が掛かってしまいました。
>>>
>>> ATDEの/usr/lib/locale/locale-archive(約2Mバイト)を
>>> Armadilloに送ったのですが、リブートすると以下のエラー
>>> が出て固まってしまいます。
>>> "RAMDISK: ext2 filesystem found at block 0
>>> RAMDISK: image too big! (34807KiB/32768KiB)
>>> List of all partitions:"
>>>
>>> Ramdiskのサイズがオーバしてしまい、立ち上がれないのかと
>>> 思います。過去のメーリングリストを調べてみたら、
>>> [Armadillo:00952]カーネル側の設定を変更する必要がありそう
>>> だと分かりました。
>>>
>>> email@hidden:~/atmark-dist$make menuconfig
>>> で設定を変更しようと思ったのですが、RamDiskのサイズ変更
>>> 方法の場所が見つかりません。
>>>
>>> RamDiskのサイズを増やす方法をご教示ください。
>>>
>>> (2012/12/19 9:55), Yasushi SHOJI wrote:
>>>> At Tue, 18 Dec 2012 19:17:19 +0900,
>>>> watanabe wrote:
>>>>>
>>>>> ・ロケールでエラーが出るので、
>>>>> ・locaeldefを行いたい
>>>>> ・そのために、\atmark-dist-20121023\glibc\locale\をmakeする
>>>>> ・makeでエラーが出る(インクルードファイルが無いなどのエラー)
>>>>>  のでそのエラーをつぶす
>>>>>
>>>>> アプローチの仕方は合っていますでしょうか?
>>>>
>>>> 上記の方法だと大変なので、「」localdef されたものを Debian から Atmark
>>>> Distの環境に持っていってはどうか?」というのが提案でした。
>>>>
>>>> 上記、「Debianから」というところが問題です。
>>>>
>>>>      1) Armadillo で Debian 環境を構築し、そこからデータファイルを移動
>>>>      2) ATDE はすでに Debian 環境なので、そこからデータファイルを移動
>>>>
>>>> という方法が考えられます。1) の方法が直感的ですし間違いがない方法なので
>>>> すが、2)でも問題なく動くのではないかな?と思っていました。
>>>>
>>>> 1) の方法でも、Armadilloサイトから Debian をダウンロードできるので、そ
>>>> れほど手間ではないと思います。
>>>>
>>>>> また、\atmark-dist-20121023\glibc\以下のフォルダはmakeだけでは
>>>>> エラーが出てしまうのでしょうか?ちなみに、VMwarePlayerでATDE3で
>>>>> ビルドしています。
>>>>
>>>> すみません。上記 glibc は過去の遺産で、今は使われていません。
>>>>
>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>
>>
> 




armadillo メーリングリストの案内