完全に自分のせいですね、これは…。
・オリジナルの anthy では、実際に定義が書いてある *.depword を master.depword が直接 include して読み込んでる。
・自作 depgraph では間にワンステップ挟んで、定義ファイル → 形式変換した中間(?)ファイル → master.depword という形にしてある。
・srcdir != builddir の場合、中間ファイルは builddir に作成されるが、master.depword は srcdir にあり、include しようにも builddir を見に行くようにはなっていない。
・従って、実質的に indepword.txt の内容しか持たないスカスカな anthy.dep が作成されてしまう。
これが、alt-depgraph-090223 の状態だと思います。
間にワンステップかましたために、オリジナルでは想定されてない事態になってしまって上手く行かなくなった、と。
付属語が一切ないので、変換すると多分単漢字だらけになると思います。
で、何とかうまく回避できないかなと思って色々考えましたが、mkdepgraph.c が srcdir にある master.depword を前提にしている以上、結局 mkdepgraph.c をいじる以外ないんじゃないかという結論に達しました。
# ビルド時に master.depword に変更加えたりするのは、srcdir と builddir を別にする意味がなくなるからマズいだろうし…。
# anthy-conf がインストールされないならやりようがあるような気もするけど…
そして、まあ、何と言うことでしょう、既に G-HAL 氏が対応させて下さったので、自分でやらなくても良くなってしまいました。
G-HAL 氏には、私のヘマなのに修正までして頂いて、本当にありがとうございます m(_ _)m
プログラム部分を自分でいじらなくても良くなったというのは、本当に助かりました。
【関連する記事】
vagusさんの追記の手順でrpmを作っても
パッケージ作成に失敗します。
(私のほうの手違いかも)
> make[2]: *** `all-am' に必要なターゲット
> `adj-verb.all.dep' を make するルールがありません. 中止.
anthy-9100h.patch13ptn20.2009228.bz2
anthy-9100h.patch13ptn20.2009225.alt-depgraph-090223.diff.tar.bz2
ソースと同じ場所でビルドするときは問題ありません。
anthy-9100h.patch13ptn20.2009228_2.bz2
anthy-9100h.patch13ptn20.2009225.alt-depgraph-090223.diff.tar.bz2
でやってみたんですが「別ディレクトリでビルド」も「rpm の作成」(anthy に入ってる spec そのまま)も問題なくできました。
> ソースと同じ場所でビルドするときは問題ありません。
多分、G-HAL 氏がやって下さった対応で問題ないはずだと思うんですが、一応もうちょっと調べてみます。
anthy同梱のanthy.specだとパッケージを作れることを確認しました。
Mandrivaのspecではautoreconfをかけているので
失敗したのかもしれません。
しばらく調整してみます。
あ、それですね。autotools よく分かってないので…
どこがいけないのか何となく分かった気がします。
autoreconfは関係ないようでした。
ここを
> %configure
> make
こうするとビルドに失敗します。
> %configure
> %make
%makeはparallel build用だったような。
パッチが複雑になりすぎてなかなか厳しいです。
"make"なら問題ありませんでした。
ビルドに失敗するのは"%make"のときだけです。
http://wiki.mandriva.com/en/Development/Howto/RPM#Build_section
そちらでは%makeでもパッケージを作れますでしょうか?
そちらでは%makeでもパッケージを作れますでしょうか?
make -j N
は「コマンドを N個まで同時実行する」ということらしいので、「./mkdepword」が終わる前に「./mkdepgraph」が実行されちゃったんでしょうかね。
「./mkdepword」で作ったファイルを「./mkdepgraph」の入力にしてるので、同時実行ではマズいですね。
とりあえず「%make」ではなく「make」でお願いします。
# 「%make」というマクロは初めて知りました…
メールの方も拝見致しました。
こっちでも「%make」はコケます。何か違うコケ方ですが。
上記のようにシーケンシャルに実行しないとダメなようになってしまっているので、とりあえず「make」でお願いします。
色々お手数お掛けしました。ありがとうございます m(_ _)m