2006年8月15日の日記の4番目の記事へのコメント

x86_64 vs Emcws-21.3

x86_64環境ですが,Emcwsは実はちゃんとビルドできてなかったことが判明.終了時に「wnn-server-isconnect」なんてありませんとか言われて刺さったりします.なんでかと調べてみると,そもそもemcwsがcanna・wnn非対応でビルドされている模様.でもconfig.logを見ると検出されてるように見えるんだよなぁ.

とりあえずsrc/config.hがおかしいよぅ.src/config.h は src/config.in から作られるんですが config.statusを実行してもsrc/config.inの「#undef LIBS_MULE」が「#define LIBS_MULE -lwnn -lcrypt -lcanna」に置き換わらないのが謎です.そこで,config.statusの中でやってるsedの置換を追いかけてみた所,置換対象について

/^[ 	]*#[ 	]*undef[ 	][ 	]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ 	]*$/b def

なんて条件がありました.emcwsのパッチ当てた状態だと,src/config.inには

#undef LIBS_MULE               /* special library for Mule */

みたいな感じに後ろにコメントが書かれてて反応しなかったわけですな.というわけで,普通に以下のようにしてやった所・・・

/* special library for Mule */
#undef LIBS_MULE

あれ,まだだめじゃん.sedしてるところだけを抜き出して実験してみたんですが,置換されません.もしかしてこの書き方でもまずいのかと置換のパターンをよく読んでみると・・・

s,^\([ 	#]*\)[^ 	]*\([ 	]*LIBS_MULE\)[ 	(].*,\1define\2 -lwnn -lcrypt -lcanna ,

・・・(;´Д`) 「LIBS_MULE」の直後にスペースかタブか括弧が無いと置換されねーのかよ・・・.あー,autoconf.m4fにそれっぽいのが書いてあるなぁ.

ac_dA='s,^\\([   #]*\\)[^        ]*\\([  ]*'
ac_dB='\\)[      (].*,\\1define\\2'
ac_dC=' '
ac_dD=' ,']

もしかしてこれってautoconf-2.60が悪いのか?ってことで2.59の方を見たらなんか全然違うんですけどこの辺・・・.試しに2.59でautoconfしなおしたら,見事にcanna・wnnに対応したemcwsがちゃんとできました.あえて言おう.autoconf-2.60のバグちゃうんかこれホイショ.

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2006年8月15日の日記の4番目の記事へのコメント

中の人情報

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

カレンダー

2006年8月
    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件のコメント

過去ログ