[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002927] NArray and Ruby/GSL on Ruby 1.9
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002927] NArray and Ruby/GSL on Ruby 1.9
- From: Yoshiki TSUNESADA <tsunesada@xxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 15 Mar 2008 16:10:13 +0900
電脳Rubyのみなさま
東工大の常定と申します。NArray と Ruby/GSL が
らみのことについて、質問させて
ください。複数の拡張ライブラリを組み合わせて使うときに、何かエ
ラーに遭遇された方
がいらっしゃったら、お知恵を借りたいです。
現在、Ruby/GSL を Ruby 1.9 対応にさせ
る変更をしています。どうやらそれその
ものはできてはいるようです。です
が、NArrayと組み合わせようとすると、こけます。
環境はMacOS X (Leopard) - Darwinです。エ
ラーメッセージは2タイプあり、以下
のようなものです。
1.
/Users/yoshiki/Ruby/rb-gsl/examples/narray/narray.rb:5:in `<top
(required)>': uninitialized constant GSL (NameError)
from /usr/local/lib/ruby/site_ruby/1.9.0/gsl.rb:1:in `require'
from /usr/local/lib/ruby/site_ruby/1.9.0/gsl.rb:1:in `<top (required)>'
from ./narray.rb:2:in `require'
from ./narray.rb:2:in `<main>'
2.
/usr/local/lib/ruby/site_ruby/1.9.0/gsl.rb:2:in `require': dlopen(/usr/
local/lib/ruby/site_ruby/1.9.0/i686-darwin9.2.1/rb_gsl.bundle, 9):
Symbol not found: _cNArray (LoadError)
Referenced from: /usr/local/lib/ruby/site_ruby/1.9.0/i686-
darwin9.2.1/rb_gsl.bundle
Expected in: flat namespace
- /usr/local/lib/ruby/site_ruby/1.9.0/i686-darwin9.2.1/rb_gsl.bundle
from /usr/local/lib/ruby/site_ruby/1.9.0/gsl.rb:2:in `<top (required)>'
from ./narray.rb:2:in `require'
from ./narray.rb:2:in `<main>'
最初のケースは require("gsl") している
のに GSL が見つからないというエラー。
2つ目は、_cNArrayが見えてないということ
ですが、何か Mac 特有の問題かもしれま
せん。require("gsl")した瞬間にこけてます。ちなみにrequire("gsl")では、
narray.bundle (narray.so) と rb_gsl.bundle (rb_gsl.so) が順番にロード
されます。最初のケースではロードではこけ
ずにモジュール(Ruby定数)GSLにアクセ
スしたときにエラーになり、2つ目のケースでは narray.bundleはロードできて
rb_gsl.bundleのロードでこけているように見えます。
2つのケースがどういうときに起こるのかは、つかみきれていませ
ん。エラーが起き
ないスクリプトでも、パス指定によって起きたり起きなかったりします。例えば
examples/min.rbというスクリプトがあるのですが、examples/ の下で ./min.rb
とやると動くのに、別のディレクトリに入っ
て ../min.rb とやるとケース1のエラー
が起きるという感じ。わけがわかりません。
Ruby 1.8.6 ではこのようなことは起こり
ません。Ruby 1.9 の問題なのか Mac
の問題なのかもわかってません(他の環境では試していません)。似た
経験おありの
方いらっしゃいましたら、対処法などお願いします。
環境:
OS: Mac OS X 10.5 (Leopard) - Darwin 9.2.1, gcc 4.0.1
Ruby: 1.8.6-p114, 1.9.0-0
GSL: 1.10
Ruby/GSL: 1.10.3 から Ruby 1.9 へ対応させるべく変更中。NArray を
使わないなら完全動作。
-
常定 芳基 <tsunesada@xxxxxxxxxxxxxxxxxxxx>
東京工業大学 大学院理工学研究科 基礎物理学専攻
152-8550 東京都目黒区大岡山2-12-1 本館B45号室
TEL/FAX: 03-5734-2462/2756