数値計算レポート５

{G99P057-3 \atop 斎藤卓也}

出題日： 2001 年 6 月 22 日 提出日： 2001 年 6 月 23 日

1 問題

Rlab を glibc2.1 系にインストールせよ。もしできたら，一番最初にできた人は試験を免除にする。

2 解答

私は Vine Linux 2.1.5 上で Rlab をソースコードからインストールした。まず、 http://rlab.sourceforge.net/ の Source Distribution からソースをダウンロードし、ファイルを解凍してインストール作業をしてみると、 make と入力して、実行中にコアダンプが起きてしまった。

多分、これがインストールがうまくいかないという部分なのだな、と思い、エラーメッセージを見てみると、 gc というガーベージ・コレクターがなにやらコアダンプを起こしている様子である。

そう言えば、ガーベージ・コレクターがどうのこうのと言っていたような記憶がある。やはりコレのことだろうと思い、それなら、 ./configure で–disable-GC として、ガーベージ・コレクターを使わないようにすれば良いだろうと思い、やってみるのだが、これでも同じエラーが発生し、やはり出来ない。

そこで、このガーベージ・コレクターの新しいバージョンのものはないのかと思い探してみるとあった。

http://www.hpl.hp.com/personal/Hans_Boehm/gc/

の

gc_source/gc.tar.gz

というリンクがある。ここから、 gc.tar.gz をダウンロードし、解凍すると、 rlab 内にある gc の新しいバージョンの gc が出来る。それをそっくりそのまま入れ替えると、今度は config.h が無いとエラーを出してくるので、調べてみると、新しい gc には config.h ファイルがない。

そこで、 rlab 内に最初からある gc/config.h ファイルを新しい gc 内にコピーして、 make してみると、今度はうまくできた。問題なくコンパイルできて、インストールも完了した。

という訳で、以下に Vine Linux 2.1.5 上での Rlab のインストール手順を示す。

3 インストール手順

1. http://rlab.sourceforge.net/ の Source Distribution からソースファイル (rlab-2.1.05.tar.gz) をダウンロードする。

2. http://www.hpl.hp.com/personal/Hans_Boehm/gc/
の gc_source/gc.tar.gz のリンクをクリックし、 gc.tar.gz をダウンロードする。

3. rlab-2.1.05.tar.gz を解凍する。 tar -zxvf rlab-2.1.05.tar.gz これにより、 rlab-2.1.05 ディレクトリができて、その中に rlab のファイルが解凍される。

4. gc.tar.gz を解凍する。 tar -zxvf gc.tar.gz これにより、 gc というディレクトリができて、その中に gc のファイルが解凍される。

5. rlab-2.1.05/gc 内にある、 config.h ファイルを、 gc.tar.gz を解凍させて出来た gc ディレクトリ内にコピーする。

6. rlab-2.1.05 ディレクトリ内の gc ディレクトリ (およびその中のファイルやディレクトリ全部) を削除する。

7. gc.tar.gz を解凍して作られた gc ディレクトリを rlab-2.1.05 ディレクトリ内にコピーする。結局のところ、上の作業は何をやっているのかというと、 rlab-2.1.05 ディレクトリ内にある gc ディレクトリを、新しい gc ディレクトリと交換している。ただし、 gc.tar.gz を解凍して出来た gc 内には、 rlab-2.1.05/gc/config.h ファイルが無いので、このファイルを gc.tar.gz より作られた gc ディレクトリ内にコピーしておくのである。

4 具体的なインストール時のコマンドラインでの入力

それでは、ファイル

rlab-2.1.05.tar.gz
gc.tar.gz

が同じディレクトリ内にダウンロードされている場合のインストール手順を示す。

まず、 rlab-2.1.05.tar.gz, gc.tar.gz をダウンロードしたディレクトリをカレントディレクトリにする (cd コマンドで)。

後は、以下の順序でコマンドラインで入力すれば良い。

tar -zxvf rlab-2.1.05.tar.gz
tar -zxvf gc.tar.gz
cp rlab-2.1.05/gc/config.h gc/config.h
rm -rf rlab-2.1.05/gc
cp -r gc rlab-2.1.05/gc

これで、 rlab-2.1.05 内の gc が新しい gc に置き換わった。そして、 config.h ファイルも新しい gc 内にコピーされた。

その後、 INSTALL ファイルの手順通りインストールすればよい。以下に例を示す。

cd rlab-2.1.05
./configure
make
make check
make install

以上で/usr/local/bin 内に rlab がインストールされる。

5 Rlab を試しに実行させてみる

以下に、 Rlab を実際に実行させてみた実行結果を示す。

[root@localhost bin]# ./rlab2
Welcome to RLaB. New users type `help INTRO'
RLaB version 2.1.05 Copyright (C) 1992-97 Ian Searle
RLaB comes with ABSOLUTELY NO WARRANTY; for details type `help warranty'
This is free software, and you are welcome to redistribute it under
certain conditions; type `help conditions' for details
> a=rand(1000,1000);
> b=rand(1000,1);
> tic();c=a\b;toc()
     3.19
>