2006年4月14日から2006年4月10日までの日記を表示中

2006年 4月 14日 (金)

H320のディスク使用量

そろそろいっぱいの予感です.次のM3で色々買ってリッピングしたらあふれちゃうかも.というわけで,普段あんまり聴かないのを消そうかと.でも,消す前にちょっと聴いてみてから・・・とやってるうちに聴き入って全然消す作業が進まなかったりね.はじだまのサントラ,超久しぶりに聴いた気が(^^;

uim.elをuim-input-pad-jaに対応させる話

やっぱそう単純にはいかない予感.あれもこれもと直すところが多発して混乱気味ですorz.先のことを考えるともっとちゃんとやるべきか・・・.たとえば,helper-serverと通信するだけのプロセスを別途用意して,Emacsから起動し,出力はフィルタ関数で受け取るようにして,Emacsは到着したhelperメッセージを元にuim-el-agentとあれこれやりとりする・・・とか.かなり大改造しないとだめそうですが・・・.

OpenZaurusの開発環境

やっとgcc-3.4.6(cとc++)をクロスで作ったセルフコンパイラでgcc自体をセルフビルドできました(ややこしい).結局,クロスでgccを作る際のLIB1ASMFUNCSは昨日のじゃ足りなくて,ieee754-sf.Sを取り込むために

make LIB1ASMFUNCS='_udivsi3 _divsi3 _umodsi3 _modsi3 \
   _dvmd_lnx _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 \
   _fixdfsi _fixunsdfsi _truncdfsf2 _negsf2 _addsubsf3 \
   _muldivsf3 _cmpsf2 _unordsf2 _fixsfsi _fixunssfsi'

とやる必要がありました.更に,セルフでgcc作ってると,途中で

checking for sin in -lm... configure: error: Link tests are not allowed 
after GCC_NO_EXECUTABLES.
make: *** [configure-target-libstdc++-v3] Error 1

なんてエラーが出たんで,gcc/specを編集して「%{msoft-float:-lfloat}」を削除.なんでlibfloatなんか必要とするんじゃろう・・・.これ直して再度makeしたら完走しました.いやー,長かった.ちなみに,gawkとGNU findutils入れとかないと通りませんね.ちょっと焦りました.さー,次はどうしよう.・・・と思ったらセルフビルド時にLIB1ASMFUNCSつけるの忘れてたorz.

2006年 4月 13日 (木)

uim.elとcommit_string

結局uim-ximを見て納得.commit_stringに「charset=」がなければUTF-8と見做し,あればそのエンコードということですね.あー,「charset=」という単語をcommitする必要が生じたらどうするんでしょうか・・・と思ったけどそんなことあるわけないか(^^;

で,ひとまずuim-el-agent内でcommit_stringをデコードするようにして,何か操作があったときにcommitされるようにしてみました.まあ,やっぱこれだけじゃ全然使いものになりませんな.

OpenZaurusのあれ

うー,相変わらず__floatsidfとかがlibgcc_s.soに入ってくれません.中身の記述自体はgcc/config/arm/ieee754-df.Sにあるんで,これを取り込んでるlib1funcs.asm がどうgccに食べられるかをよく調べれば・・・原因がわかるかも・・・.

というわけで,ちょっとずつ追い込んでいったところ,make時のLIB1ASMFUNCSが鍵を握っている雰囲気です.で,色々(中略)以下のようにやると,_floatsidfとかがちゃんと入ることが判明ですよ.うーん,何かこの辺,全然情報ないなぁ.似たようなトラブルの報告はあったんですけどねぇ・・・.探し方が悪いのかなぁ.

make LIB1ASMFUNCS='_udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
   _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi \
   _fixunsdfsi _truncdfsf2'

CDとか

Lunatic Gate (efs)
東方アレンジ.わかりやすい好みでアレですが(^^;,9曲目,すごく良かったです.あと3曲目も(・∀・)イイ! 残念ながらボーカル曲はあまり好みではありませんでしたが,お手ごろ価格だし全然OK.

2006年 4月 12日 (水)

OpenZaurus開発環境

んー,gccのヘッダを1個手動でインストールしたら,セルフのbinutilsのconfigureが通るようになりました.が,make始めると,最後のリンクの段階で,「__floatsidf」と「__muldf3」と「adddf3」が見付からないと言われてこけます.確かに自分で作ったgccのlibgcc_s.so見るとこの辺は「U」.一方/lib/libgcc_s.soでは「T」・・・.ちゃんと--with-float=softで作ってるのになぜだ・・・.

あと,libstdc++.so作ってるところでなぜか/usr/i586-pc-linux-gnu/lib/以下のファイルとリンクしようとしてこけます.こっちはarm-linux/libstdc++-v3/libtoolの「sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"」とかを「sys_lib_search_path_spec="/usr/local/arm/oe/arm-linux/lib"」とやったら解決しましたが,なんでこうなるかがわからんのが問題です・・・.なぜだぁ.何かが足りてない・・・.

uim-input-pad-jaとuim.el

これの話.実のところ,「commit_string」は実装してなくても困らないメッセージ(将来使うかもねー系)だと勝手に思い込んでました.なんでだろう・・・.まあ,何にせよ,uim-input-pad-jaは,今まで一度も使ったことなかったわけですが(何するためのものなのかも知らなかった).

で,これ,サポートするにはどうすんのという話ですが,どうやるのがいいんですかねー.前にどっかで書いたような気もすんですが,uim.elではユーザのキー入力とかウィンドウのリサイズとかに反応してuim-el-agentにメッセージを送り,返ってきたのを受け取って,それを元にバッファやモードラインを更新する,という処理をしてるだけだったりします.なので,ユーザがEmacsに触らない限り,uim-el-agentが外からあれこれ言われても何も起きないんですよね・・・.さてどうしよう.

バッファの出力をフィルタで受け取るように変更して,出力が変化したらEmacsが反応するようにする
キー押して,結果が返ってくる前にカーソルが動かせちゃったりしたら恐くない?
Emacsのタイマ機能を使って,何もしてないときにもuim-el-agentの出力をちょくちょく見る
run-with-idle-timer は,「Emacsが放置されてから一定時間後に何かする」という使い方しかできず,0.1秒おきに何かするとかできないっぽい?
uim-el-agent側からシグナルをEmacsに送ってつつかせる
Emacsでどうやってシグナル処理するのかリファレンスに書いてなくね?でも,ソース見るとUSR1とかUSR2は律義に反応してくれそうな雰囲気です.試しにUSR1とか送ってみたら,キー入力やメニュー選択と同じように「usr1-signal」というイベントがが!これならいける!・・・と思ったんだけどXEmacsはUSR1で死にますた(;´Д`).萎える.
外からのメッセージ受け取り専用のプロセスを用意して,フィルタで出力を処理
あんまり色々動かしたくないけど,うまくやればuim-el-agentの中の処理がよくなるかも・・・しれないがElisp側でやることが増えそう
おとなしくユーザが何か操作したときにバッファを更新する
commitとかはそんときフォーカスされてるコンテキスト内で蓄積しときゃいいんだし,これでもいいのかなぁ

んー,とりあえずXEmacsは放置でシグナルでやってみるかぁ・・・.他にいい方法あったら教えてください.

[コメントを書く]

nosuke 2006/04/13(木) 03:22:25
uim-input-pad-jaからやってくる文字,エンコード変換しないとまずい
じゃん・・・(;´Д`).めどいな・・・.
nosuke 2006/04/13(木) 04:27:00
uim-input-pad-jaからやってくるのはUTF-8決め打ちはまずいよね・・・.
と,doc/COMPATIBILITYを見るとCharsetが必要になったようですね.
あれ,でもdoc/HELPER-PROTOCOLにはなく,input-pad-ja.cでも出してる気配が無い・・・
だけど,uim-fepはcharset=""がないと処理しないようになっていて・・・

ヽ(`Д´)ノ ウワァァァン もう寝ノレ!

CDとか

世界のヤマちゃん (Silly Walker)
六十年目の東方裁判アレンジCD.こういうCDいいっすねー.全然原曲重視とかしてないところも(・∀・)イイ! 今まで割と苦手なのが多かったt+pazolite氏のアレンジですが,今回のは普通でした(;´∀`).篠螺氏のアレンジとか特によかったっす.

2006年 4月 11日 (火)

OpenZaurus開発環境

うおー,OpenZaurusのSDKを使って,セルフコンパイラをクロスで作ることには成功したんですが,これを使ってbinutilsをOpenZaurus上で作りなおそうとすると失敗します.何かクロスで作ったセルフ(ややこしい・・・),ヘッダが足りてない気がする・・・.おかしいなぁ.

[コメントを書く]

nosuke 2006/04/12(水) 13:57:08
syslimits.hは手動でコピーしないと駄目なのか(;´Д`)

妖々夢

相変わらずPhantasmやってます.ゆかりんまでに2億取れるようにはなりましたが,その先が辛いです.相変わらず「生と死の境界」と「二重黒死蝶」が二大辛いカードなんですが,なぜか加えて「夢と現の呪い」と「八雲藍」でミス頻発.前者はいつも気合い避けだったんでこんなもんかって感じですが,後者はなんで失敗するのか謎・・・.

2006年 4月 10日 (月)

OpenZaurus

というわけで,やっぱOpenZaurusでいくことにしました.最初,WanderingZaurusWikiさんのとこにあるgpe 3.5.4.1-alpha2 06/040/06版を突っ込んでみたところ,普通に動くも起動時に「カーネルのバージョンが違うぜー」とか警告が出たので,なんとなくびびって本家のalpha1に落としてみました.うむ,きちんとサスペンドして復帰するね.素晴らしい.

で,上記Wikiにセルフビルド環境のお手軽構築法が出てたんで早速実践.feedの指定場所,あってるのかどうか怪しいですが一応ツールやヘッダ類が入りました.よーし,さっそくhello.cコンパイルしちゃうぞー.

# gcc hello.c -o hello
/usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: cannot find 
/lib/libc.so.6 inside /usr/bin/../../usr

・・・なんだこりゃorz.ldが何か文句たれてます.細かいこと考えるのめんどくさいのでldのソースを見ることに.何か「/usr/bin/../../usr」というわけのわからんパスはld_sysrootというやつらしく,こいつはldmain.cのmainの中で「get_sysroot (argc, argv)」とかで設定されてました.で,この中見ると「--sysroot=」で上書きできる模様.というわけで,

# gcc -Wl,--sysroot=/lib hello.o -o hello
/usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: warning: 
ld-linux.so.2, needed by /lib/libc.so.6, not found (try using -rpath 
or -rpath-link)

・・・(;´Д`)?

# gcc -Wl,--rpath,/lib -Wl,--sysroot=/lib hello.o -o hello

できたーヽ(゜∀゜)ノ・・・何か根本的に間違ってる気が・・・.ひとまずrpathの方は「export LD_RUN_PATH=/lib」で逃げられますが,そりゃ違うよなぁ.まー,これでbinutilsとgcc作りなおしてみっか.

2006年4月14日から2006年4月10日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ