From: Masao M. <mu...@hi...> - 2003-12-31 13:25:06
|
むとうです。 On Wed, 31 Dec 2003 22:06:48 +0900 Leibniz <le...@su...> wrote: > 山下です。 > > またひとつ質問をさせてください。 > ruby-gnome2はrubyに静的リンクできるでしょうか。 > できるはずだとは思いますが、どうもやりかたがよくわかりません。 私はあまりCygwinとかgccとかdlとかに詳しくないので(^^;) はっきりとしたことはいえないのですけど...。 > なぜ静的リンクなんかしたいのかというのは以下の事情によります。 > これまでCygwin上でさかいさんのバイナリ(http://web.sfc.keio.ac.jp/~s01397ms/cygwin/) > でruby-gnome2を動かしていたのですが、cygwinをバージョンアップ > したらruby-gnome2が全然動かなくなってしまいました。例の > > glib2.so: dlopen: Win32 error 126 > > というやつです。そのためcygwin1.dllだけ古いのに戻したてみたら、 > 今度はbashが動かなくなるという惨状。それでruby-gnome2-all-0.8.1 > を新しいcygwinで自分でコンパイルしてインストールしてみたのですが、 > やはりerror 126。それで、次はruby-1.8.1 のソースのREADME.EXTに従って > rubyと一緒にコンパイルして静的リンクしようとしましたが、そのままで > はうまくいかないのでruby-gnome2のextconf.rb を多少いじったりして > みました。が、やはりうまくいきません。Linux上のクロスコンパイル > 環境に移ってやってみたら余計できませんでしたので、またWindowsに戻って > ごちゃごちゃやったのですが、いまのところ > > /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/ld: cannot find -lruby-glib2 > collect2: ld はステータス 1 で終了しました > make[2]: *** [libglade2.so] エラー 1 > make[2]: Leaving directory `/src/ruby-1.8.1/ext/ruby-gnome2-all-0.8.1/libglade' > > というエラーが出てしまいます。extconf.rbの修正のしかたでも > error 126 の解決法でもよいですが、何か対処法があったら教えていただける > とありがたいです。 うーん。静的リンクというか、その前の問題なような気がしますが....。 > 要はWindows上(できればcygwin上)で最新版のruby-gnome2を > 使いたいということに尽きるわけですが。 ruby-gnome2はCygwin上ではLinuxなんかと同様にコンパイル・インストール できるはずです。 まずはあまり特殊なことは考えずに、なぜ現在の環境でうまくいかないのか を切り分けていった方が良いように思います。 上記の話ではCygwinのバージョンアップにより、ruby-gnome2で上記のエラーが出た というところまでは理解できます。 でも、なんで、その後、新しいCygwinでruby-gnome2-all-0.8.1をコンパイル・ インストールすると上記のエラーが出るのでしょうか? もしかして、元のGTK+とかがおかしくなってるとかいうことはありませんか? あるいはインストールし直してみました? あと、ruby-gnome2-all-0.8.1はクリーンな状態でコンパイルされましたか? また、他のRubyライブラリ(例えば標準添付のもの)はどうなったのでしょう? それにRuby自体はどうでしょう? たぶん、その辺から解決していかないと静的リンクもなにもないと思うのですが。 > PS > この話がruby-gnome2-devel-jaの過去ログにすでにあったらすいません。 > なぜか文字化けして日本語がうまく検索できなかったので。 このネタ自体は過去なかったと思いますが、 http://ruby-gnome2.sourceforge.jp/ja/index.html のサイドメニューからたどれる(Mailinglist(devel-ja)のdevel-jaの部分) アーカイブであれば日本語読めます。ちと古いですが。 #これもメンテナンスしないとダメなのか...。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |