[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