2006年5月12日から2006年5月8日までの日記を表示中

2006年 5月12日 (金)

linux-2.6.16.16

QEMU動かしてみたくなりソースからビルドしようとしたんですが,例によって2.6.16のカーネルヘッダ回りのエラーが山のように発生.しかも今までのように簡単には取れず.というわけで,観念してカーネルをあげてみることにしました.今回のuptimeは42日でした.カーネル上げたらQEMUのビルドでエラーでなくなって(゜Д゜)ウマー.

perlの例外処理

catch/throwみたなことをPerlでやりたくて調べたら,なんとeval/dieでできるのね.なるほど.すごい.

[コメントを書く]

tacash ◆cR08PK3l1o 2006/05/13(土) 10:01:58
Perl is すこい
nosuke 2006/05/13(土) 13:44:32
すこいキタ━━━━(゜∀゜)━━━━ッ!!

mlterm-2.9.3とzsh

mlterm.tiの記述の中の「sgr0=\E[m\E(B」がzshのプロンプトを乱す模様・・・.よくわからんのですが,これを「sgr0=\E(B\E[m」にするとプロンプトにごみが入らなくなります.

[コメントを書く]

佐藤精一 2006/05/13(土) 22:16:24
調べてくれてありがとうございます。
ncursesのバージョンを教えてください。
nosuke 2006/05/14(日) 02:39:24
こんにちは.報告までにもうちっと調べてから・・・と思ってました.すいませんです.
上記現象の出ている環境のncursesは5.3 (5.3.20021012) です.

2006年 5月11日 (木)

時間ねー

何か時間が無いというか,余裕が無いです.明日になれば・・・.

uim-trunk

OpenZaurusだとどうか.Linuxですが,ARMなんで,はまるとしたらcharまわりかな(遙か前にGBAで遊んでてはまりましたが,ARMのgccのcharは符号無しらしい).あと -Wcast-align で引っかかりそう.というわけでやってみたらやっぱ両方出ました.char回りはすぐ修正.cast-alignはslib.cなんでそのまま・・・.-Werrorやっぱり厳しいっす.あとなぜかximic.cppコンパイルするところでエラーが出ました.こんなの↓ STL回り?gccの入れ方がまずいか?

/media/hdd/usr_local/bin/../lib/gcc/armv5tel-unknown-linux-gnu/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h: \
In member function `void pe_stat::new_segment(int)':
/media/hdd/usr_local/bin/../lib/gcc/armv5tel-unknown-linux-gnu/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:435: \
警告: '__p' might be used uninitialized in this function

ちなみに,せっかく--with-qtでビルドしたのにQtで認識できませんでした(´・ω・`).まずい,これではKO/Piが・・・.

[コメントを書く]

nosuke 2006/05/12(金) 13:48:42
どはー,commitログ間違えているorz
pid_tはlongにキャストして,printfの中身を%ldにしたのが正解でした(´・ω・)
ekato 2006/05/12(金) 18:07:55
ふつー -fsigned-char とかするんじゃないですか?
昔の記憶ですが、ppc の Linux だと、 rpm とかの build のデフォルト
CFLAGS に入ってました。

あと、いちおう --disable-warnings-into-error を選べるように
configure のオプションに入れておきましたよ。
nosuke 2006/05/12(金) 18:56:21
こんにちは,どうもです.

> ふつー -fsigned-char とかするんじゃないですか?

Σ(゜д゜lll) ガーン,それが普通だったんですか.
ARMでは野良ビルドしかしてないんで(^^; まったく知りませんでした

ただ,個人的には この辺,コードの側でcharのデフォルトがsignedでもunsignedでもどっちでも大丈夫なようにしておくのがいいのかなーと思ったりしてます.
# -fsigned-char は非常手段のイメージが・・・

> あと、いちおう --disable-warnings-into-error を選べるように
> configure のオプションに入れておきましたよ。

うあ,見落としてました.すいません.
# ついでに -Werror,デフォルトno というのは駄目ですかね(^^;;;
## 風博士ではデフォルトnoらしいっす・・・
## http://lists.sourceforge.jp/mailman/archives/kazehakase-devel/2006-January/002516.html
ekato 2006/05/12(金) 20:33:00
> ついでに -Werror,デフォルトno というのは駄目ですかね
どうでしょう? デフォルト yes でいいと思いますけど。選べるわけですから。

ただ、Fedora Core 5 でも Qt が 3.3.5 でひっかかりました。Qt 3.3.6
だと直っているようで大丈夫だったんですけどね。

> pid_tはlongにキャストして,printfの中身を%ldにしたのが正解でした
これ、実はまずかったみたいです。というのも、UIM_EVAL_FSTRING* は
%ld サポートしてないみたいなんですよ…
nosuke 2006/05/12(金) 20:46:51
> どうでしょう? デフォルト yes でいいと思いますけど。選べるわけですから。
それもそうっすね.警告が出てビルドが通らない場合は --disable-warnings-into-error を付ける,はFAQってことで
> UIM_EVAL_FSTRING* は%ld サポートしてないみたいなんですよ
うわー,申し訳ないです.十分にテストせずにcommitしてしまいました.
%dと%sだけなんですね・・・.失礼しました.
ekato 2006/05/13(土) 15:30:11
やっぱりリリースブランチではnoにします。

ところでだれか真字のアイコン作らないかな…

2006年 5月10日 (水)

日付ずれてたし

今日は更新が早いなと思った人すいません.日付が一日ずれてましたorz.何かどうにも忙しくてメールさえままならぬ・・・.

mlterm-2.9.3とzsh

帰りの電車で実験.mlterm-2.9.3のmlterm.tiを入れてzsh-4.3.2とかzsh-4.2.4を動かすと,プロンプトの先頭に「[27m」なる謎の文字がつきます.「PROMPT="$ "」とか超シンプルにしても出ます.2.9.2のmlterm.tiだと問題なし.bashでは問題なし.謎だ・・・.

試しにroot権限でmltermをあげてzshを動かしてみたら出ませんでした.ありゃ,設定の問題か?でもnosuke権限であげてるmltermの中でsu -してzshを動かすとごみが出る.・・・うーん,この差は何だ?・・・と思ったら,「mlterm -y mlterm」し忘れてるだけでした.やっぱzshとの間で何か問題があるっぽいなぁ.

[コメントを書く]

nosuke 2006/05/12(金) 20:16:20
とりあえず
sgr0=\E(B\E[m
が効いている模様・・・

2006年 5月 9日 (火)

mlterm-2.9.3

出てたんですね気づきませんでした.ちょくちょくcvs updateしてたんですが(昨日もした),ひょっとして単に最近はcvsにcommitされてなかっただけなのか?そういえばMLにもアナウンス流れてないよなー・・・と思ってgmailチェックし直したら迷惑メールに分類されてたし_|‾|○.

で,早速入れてみました.∩( ・ω・)∩ワーイ Shift+矢印とかを認識するようになっているぞ.もちろんEmacs側でちゃんと設定しないと使えませんが.uim.elでシフト矢印使いたい人は,.emacsに↓とか書いとくと吉かと.

(define-key function-key-map [27 79 49 59 50 65] [S-up])
(define-key function-key-map [27 79 49 59 50 66] [S-down])
(define-key function-key-map [27 79 49 59 50 68] [S-left])
(define-key function-key-map [27 79 49 59 50 67] [S-right])

あ,mlterm.ti入れてTERM=mltermで起動するとプロンプトが崩れる・・・.2.9.2のmlterm.tiに戻すと平気だなぁ.もうちっといじって駄目ならメールしよう・・・.

ハイバネーション復帰後

T42だとハイバネーションの前後であらゆるターミナルに以下のようなメッセージが出たりするんですが,これが実はEmacsとプロセスの間にも出ていた模様・・・.uim-el-helper-agentのログ見て初めて気づきましたよ.これは色々やばいぞ.なんとかせねば.

Message from syslogd@localhost at Tue May  9 23:43:42 2006 ...
localhost kernel: Reading caches...
Message from syslogd@localhost at Tue May  9 23:43:44 2006 ...
localhost kernel: Cleaning up...

カーネルのソースを見ると「suspend_prepare_status」とかの中で,printkしてKERN_EMERGに・・・って,/etc/syslog.conf見たら「*.=emerg *」て書いてあるしΣ(゜д゜lll) .拾えるのかどうか知りませんが,とりあえず「/var/log/messages」に出すようにしたら解決したっぽいですorz

CDとか

昨日のハードコアタノシーさんの「TANO*C COREnival」ですが,さらに別のマシンに読ませたらなんと認識しまして,そのまま一気にCDに焼いてしまいました(^^;.焼いた方はばっちりThinkPadでも再生可能.ふぅ.ちなみに家のデスクトップでもオリジナルの方を読めることが判明・・・.うーん,なんだ,相性なのか?TOCが何か違う気がしますが.まあ,なんにせよ,焦ってメールしなくてよかったです・・・.

2006年 5月 8日 (月)

uim.elとかSolarisとか

変換候補が出てる間でもメニューなどが選べてしまう問題ですが,実は今までも選べてました.今までは,メニューを選んだ結果生成されるベクトルをuim側に渡してたけど,uimが無視して終わりだったんですね.で,それが最近の変更で,uimに渡してuimが無視した後,変換候補とかプリエディットが一時的に消えてしまうよういなっていた,と・・・orz.昨日の変更でキー入力の読み取りが見通し良くなったので,メニュー操作によって生成されたベクトルは全部ここでまとめて,最後に捨てるようにして対策完了.

で,それとは全然関係無い話なんですが,trunkのr3397を例によってSolaris8でビルドしてみました.-Werrorによりどれだけ引っかかるのか・・・.とりあえずなんでもかんでも入れてあるわけではないので,configureすると以下のように歯抜けにはなりますが.

Configure Result :

   Anthy           : yes
   Canna           : yes
   Mana            : no
   PRIME           : no
   m17n-lib        : no
   SCIM            : no
   Gtk+            : yes
   Gnome           : no
   Gnome Applet    : no
   Qt              : yes
   Qt immodule     : yes
   FEP             : yes
   Emacs           : yes
   XIM             : yes
   DICT            : no
   EB              : no
   libedit         : no
   Default toolkit : gtk

で,makeしてみた結果,以下のような問題に遭遇.

allocaが未定義
alloca.h(とconfig.h)をincludeして解決
bzeroが未定義
strings.h(とconfig.h)をincludeして解決
「warning: subscript has type `char'」とか出る
isdigitとかisalnumの引数にchar型を取るところで出ている.unsigned charにキャストして解決しちゃっていいのかな?
「warning: cast increases required alignment of target type」とか出る
構造体の形を変えるのが抜本的な対策だと思うんですが,ひとまずslib.cで出まくるので「-Wcast-align」を外して逃げるのがいいのかな・・・と思ったらpref-gtk-custom-widgets.cでも出たぞ!?・・・これはgtk2的問題?
pid_t型の変数をpirntfするところで怒られる
ヘッダを見ると,32bit版では「pid_t」の実体は「long」になっているので,intにキャストしてから出力すればいいのかな.
INT64_MIN,INT64_MAX,UINT8_MAX などが二重定義
uim/uim-stdint.hの中でinttypes.hをincludeしていて,その先で定義されているわけですが,なんで生成元となったファイルをincludeしなおしているのだ・・・?uim/uim-stdint.hをいじってdefineする前にundefして逃げ.
FALSEとTRUEが定義済み
fep/uim-fep.hで.curses.hで定義されてしまっている.fep/uim-fep.hでdefineする前にundefして逃げ.
tputsの3つめの引数の型が違う
fep/escseq.cで.LinuxやFreeBSDだと「int (*putc)(int)」だけどSolarisは「int (*putc)(char)」.IRIXも同じ.configureで検出したりできるのか?ひとまず型を直して逃げ.

うーん,上2つはcommitしちゃってよさそうですが,後はどうなのか・・・.とりあえずメールしよう.

CDとか

ハードコアタノシーさんの「TANO*C COREnival」なんですがThinkPadで聴こうと思ったらまったく認識されず,そこら辺のPCに片っ端から突っ込んでみたんですがやっぱり全然認識されませんorz.プレスの2枚組なのに,2枚ともだめとはこれいかに.ググっても同じような症状の人とか見当たらないなぁ.もしかしてタノシーのCDはPCだと読めないトリックが仕掛けてある?・・・ピッチが浅くてPC用のドライブだと出力が足りなくてギリギリ読み取れないとか?後で普通のプレイヤーに入れてみて,それで駄目なら要連絡か・・・.

2006年5月12日から2006年5月8日までの日記を表示中

中の人情報

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

カレンダー

2006年5月
  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 31      

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ