[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:001782] Re: GTK対
応
RubyDCL
神代です.
> たぶん要らないような気がします。
実際にそのオプションを外して make したところ,
grph1_zgpack.o(.text+0xd): In function `dcl_zgsdrw':
/home/koshiro/tmp/ruby-dcl-1.4.0/grph1_zgpack.c:73: undefined reference to `_rbgobj_instance_from_ruby_object'
grph1_zgpack.o(.text+0x2f): In function `dcl_zgspmp':
/home/koshiro/tmp/ruby-dcl-1.4.0/grph1_zgpack.c:85: undefined reference to `_rbgobj_instance_from_ruby_object'
collect2: ld returned 1 exit status
make: *** [dcl_raw.so] Error 1
というエラーが出ました.つけるとエラーなく終了します.
dcl_zgsdrw, dcl_zgspmp で ruby-glib2 に依存している部分はないですか?
そうであれば一括インストーラでインストールの順番が変わってきますので……
以前 RPM を作ったときも,その依存関係は定義してなかったと思いますので,
修正したほうがいいですよね.
以下の extconf.rb の抜粋の
> if /cygwin|mingw/ =~ RUBY_PLATFORM
> have_library("narray") || raise("ERROR: narray library is not found")
> if gtkversion == "2"
> $LOCAL_LIBS += "- lruby-glib2"
> end
> end
2行目で libnarray.a の有無をチェックしているように,拡張ライブラリから
拡張ライブラリを呼ぶときは,Cygwin の場合は インポートライブラリをリン
クしないといけません.Linuxとかの場合はそのまま *.so を実行時にリンク
できるのでいらないです.
いずれにしても ruby-glib2 がRubyDCL実行時に呼ばれているということです
ので,(Cygwinに限らず) ruby-glib2 も narray と同様に RubyDCL 実行時に
必要だということになると思ったのですが.
それとも,Cygwin だけなにか特別にそうなっているのでしょうか.
なんだか Cygwin はバッドノウハウが多くて嫌ですね……