Rubyを用いた数値計算・描画(インストール編)

RubyFFTなどの数値計算や描画を行うために色々と環境設定やインストールを行った。
インストールしたしかし各種ライブラリ・ラッパーのインストールがなかなか個人的に骨の折れる作業だっため、後から困らないようにメモ程度に書き残しておく。インストール環境はUbuntu10.04、Ruby 1.8.7。gemでもインストールできないことはないみたいだが、俺の場合は各種ライブラリのインストールに手こずりまくったので結局使わなかった(gemは普段1.3.5を使用)

ライブラリーをインストールする前に

まずはruby-devをインストールする。これがないとNArrayのインストール時にコケる。(mkmfがないとか言われる)

$ sudo apt-get install ruby1.8-dev

NArray

大規模多次元数値配列を高速に処理するライブラリ。まずはこれがないと始まらないので真っ先にインストールする。ソースはここで公開されているのでダウンロード。俺は0.5.9p9.tar.gzをダウンロードした。そして解凍、コンパイル、インストール

$ tar xvzf narray-0.5.9p9.tar.gz
$ cd narray-*
$ ruby extconf.rb
$ make
$ sudo make install
$ cd ..

NArrayがインストールできたら次は拡張ライブラリーであるlibnarrayをインストールする。

$ sudo apt-get install libnarray-ruby1.8

次にNArrayがインストールされたか確認

$ irb

irbを起動し(irbを入れてない場合は事前にインストールする)

irb(main):001:0> require "narray"
=> true

このようにtrueが返されたらインストール成功。

Ruby/GSL

次にRuby数値計算ラッパーであるRuby/GSLをインストールする。その下準備として数値計算ライブラリーであるGSLと付属の描画ライブラリであるplotutilsをインストールする。

plotutils

まずはplotutilsからインストール。ソースはftp://ftp.gnu.org/gnu/plotutils/。最新のバージョンは2.6だが、Ruby1.8にこれを入れるとインストール時に不具合が起こるので、バージョンは2.4.1を入れたほうが無難かもしれない。ちなみに2.4.1を入れる時点でflexがないと

configure: error: cannot find output from lex; giving up

というエラーが出てconfigureに叩かれるので、あらかじめ入れておく。

$ sudo apt-get install flex
$ wget ftp://ftp.gnu.org/gnu/plotutils/plotutils-2.4.1.tar.gz
$ tar xvzf plotutils-2.4.1.tar.gz
$ cd plotutils-*
$ ./configure
$ make
$ sudo make install
$ cd ..
GSL

次はGSL。apt-getの場合は

$ sudo apt-get install gsl-bin

上手くいかない場合はNArrayと同じくソースからコンパイルする。というかソースからコンパイルしたほうが確実。今回はバージョン1.9をインストールしたが、不具合が出たら1.7をインストールする。

$ wget http://core.ring.gr.jp/pub/GNU/gsl/gsl-1.9.tar.gz
$ tar xvzf gsl-1.9.tar.gz
$ cd gsl-*
$ ./configure
$ make
$ sudo make install
$ cd ..
Ruby/GSL

いよいよRuby/GSLをインストールする。インストールしたバージョンは1.14.4

$ wget http://rubyforge.org/frs/download.php/72647/rb-gsl-1.14.4.tar.gz
$ tar xvzf rb-gsl-1.14.4.tar.gz
$ cd rb-gsl-*
$ ruby setup.rb config
$ ruby setup.rb setup
$ sudo ruby setup.rb install
$ cd ..

以上でインストールができたはず。以下、確認

$ irb
irb(main):001:0> require "gsl"
=> true

インストール完了。

Ruby/DCL

次は描画ラッパーであるDCLをインストールする。

DCL

例のごとく本家である描画ライブラリーのDCLをまずインストールする。しかしながらGTK+とNArrayMissが入っていないとDCLのインストール時にエラー出るので事前にいれておく。
GTK+のインストールは

$ sudo apt-get install libgtk2.0-dev

NArrayMissのインストールは

$ wget http://ruby.gfd-dennou.org/products/narray_miss/narray_miss-1.2.1.tar.gz
$ tar xvzf narray_miss-1.2.1.tar.gz
$ cd narray_miss-*
$ ruby setup.rb config
$ sudo
$ ruby setup.rb install
$ cd ..

GTK+が入ったらDCLのインストールを開始

$ wget http://www.gfd-dennou.org/arch/dcl/dcl-5.3.4.2-C.tar.gz
$ tar xvzf dcl-5.3.4.2-C.tar.gz
$ cd dcl-*-C
$ ./configure
$ make
$ sudo make install
$ cd ..
Ruby/DCL

DCLが入ったらラッパーであるRuby/DCLのインストール。

$ wget http://ruby.gfd-dennou.org/products/ruby-dcl/ruby-dcl-1.6.2.tar.gz
$ cd ruby-dcl-*
$ cd lib

ruby-dcl-*の中にlibというディレクトリがある。そこを開くとdcl.rbというファイルがあるのでエディタで開き、冒頭に

require "gtk2"

を追加し保存。その後ruby-dcl-*ディレクトリに戻る。そして

$ ./configure
$ ruby extconf.rb
$ make
$ sudo make install
$ cd ..

これでエラーが出なければインストール完了。
以下、確認。

$ irb
irb(main):001:0> require "numru/dcl"
=> true

追記

Ruby/DCLのインストールに関してはrequire "gtk2"と書かなくてもインストールできる場合もあるっぽい。なぜだかわからんが適材適所で。

追記2

ruby1.8.7の場合、GSLが1.7、Ruby/GSLが1.10.3でないとエラーが出る模様。俺の環境の問題かもしれないが、最新バージョンを入れるとRuby/GSLのインストールの際にmatrix_complex.cでエラーが出る・・・。ruby1.9だったらいけるのかな

参考サイト