よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

October 03, 2005 [おもひで]

[Ruby] rcairo on Win32

ちょっと時間があったのでRuby-GNOME2をWin32(MSVCR71)+GTK+-2.8, Cairo-1.0.0でコンパイルしてみようと思い立った。

結果としてはなんとかなったんだけど...。rcairoはちょっと面倒くさかった。今後のために一応メモっておくこととする。

まず、GTK+-2.8.0のWin32バイナリをここから持ってきて今までのdll等を上書き(オレの場合はC:\GTK以下を強引に置き換えした)。

後で気づいたんだけど、libpng13.dllが無いよと言われるので、こちらは、DLL-files.comから頂いてきて、これもC:\GTK\bin\配下にコピーしてみた。

んでもって、rcairoはCVS版を取得してコンパイル....、しようとするが、extconf.rbが貧弱なのでそのままではうまくコンパイルできない。

今回の目標はとりあえず動くことを確認するだけなので、Ruby/GdkPixbufのextconf.rbをコピって来て使った。やっぱりpkg-config使ってたりするとmkmf-gnome2.rbを呼び出しちゃうのが楽だ。

その後、Ruby-GNOME2側をコンパイル。Ruby/GLibで一カ所リンクできないシンボルが。g_listenvが無いって言われたんだっけかな。とりあえず、その呼び出しはコメントアウト(^^;)。そんなこんなで他のはだいたいうまくいったんだけど、Ruby/GTKをコンパイルするとrcairoのリンクに失敗する。これは、cairo.defがきちんと定義されて無いからっぽい。Ruby/GTK側から参照するシンボルを定義して、Makefileを直接編集してcairo.defを読むようにしてコンパイル。あ、そうそう、ヘッダファイルで__declspec(dllexport), __declspec(dllimport)を見分けるのも忘れないようにしないと、ということでRuby/Pangoあたりからコピペ。

あとは、add_depend_package("cairo", ...)をRuby/GTKのextconf.rbに追加したりしたけど、どうもcairo.libを読めない。なので、とりあえず、Makefileで直接cairo.libの在処を記述したらうまくリンクできた。

これで、Ruby/GTKの新しいサンプルsample/misc/rgtk+cairo.rbも無事動いた。

しかし、これを全部直していくのは結構たいへんだなぁ。がんばれkouさん!(人任せ(^^;))

あ、そうそう、そういや、rcairoのsetup.rbも動かなかった。こっちは深くは追わなかったけど....、なんだったんだろう。

[Ruby-GNOME2] NihongoBenkyoの翻訳

NihongoBenkyoが次のバージョンをそろそろリリースするということで翻訳依頼が来た。しかし、これが難しい...。

「On readings」うーん。読み中?なんて訳せば...

「Kun readings」お、こ、これは訓読み?ってことは前のやつは音読みか!?

本日のツッコミ(全2件) [ツッコミを入れる]
kou (October 04, 2005 12:18)

setup.rbは3.4.0を使っているんですが,もしかしたら古いバージョンだと動くのかもしれません.
でも,ここを見る限りだとむしろバグが修正されていそうなんですよね.むぅ.
http://i.loveruby.net/ja/projects/setup/doc/news.html

むとう (October 04, 2005 23:02)

うーん、なんででしょう。


編集