root無しでRuby/GSLとNArrayを利用

setup.rb config
setup.rb setup

必要なファイルを適当なフォルダ(~/ruby/lib)に突っ込む。

#NArray。別のLinux機でsite_ruby以下にインストール済みなので、nfs越しにホームにコピーしておく。
mkdir ~/ruby/lib/narray
cd /usr/lib/ruby/site_ruby/1.8/
cp narray_ext.rb nmatrix.rb
cd i386-linux/
cp narray.h narray.so narray_config.h ~/ruby/lib/narray/
#Ruby/GSL。こちらは利用先のLinux機で。
mkdir ~/ruby/lib/rb-gsl
mkdir ~/ruby/lib/rb-gsl/gsl
cd ~/rb-gsl-1.8.3
ruby setup.rb config -- --with-narray-include=${HOME}/ruby/lib/narray
ruby setup.rb setup
cp ext/rb_gsl.so lib/gsl.rb lib/rbgsl.rb ~/ruby/lib/rb-gsl
cp lib/gsl/oper.rb ~/ruby/lib/rb-gsl/gsl

環境変数RUBYLIBに~/ruby/lib/rb-gslと~/ruby/lib/narrayを通す

setenv RUBYLIB ${HOME}/ruby/lib/rb-gsl:${HOME}/ruby/lib/narray

tcshを使ってるので、.cshrcに書いておきました。単に実行するだけでもおk。

source ~/.cshrc
irb
require 'gsl'
=> true
require 'narray'
=> true

requireできた!
gslは最初から入ってたのかな?

% yum list | grep 'gsl'
gsl.i386 1.6-2 installed
gsl-devel.i386 1.6-2 installed
pygsl.i386 0.3.2-4.fc4 extras

1.6-2が入ってたみたい。