Vine Linux に SCore をインストールする

2004/4/23: 現在の Vine Seed(gcc 3.3.2 + glibc 2.3.3) & SCore 5.6.1 対応 (kernelだけ)
2003/4/23: 現在の Vine Seed(gcc 3.2.2 + glibc 2.3.2) & SCore 5.4 対応

この文章について

SCore とは PC Cluster Consortium が配布するクラスタソフトウェアです。この文章はこの SCore を Vine Linux に無理矢利をインストールした時の覚え書きです。基本的には SCore のインストールガイドに沿っていけばインストールはできるのですが、う まくいかなかった点が若干あったのでここに備忘録として残しておきます。

eit とか使ってサクッとインストールできた場合はこの文章は必要ないでしょう。 また、Vine Linux は SCore のサポート対象ディストリビューションではありま せんので、at your own risk で行ってください。また、このページに 掲載しているパッケージは稲垣が勝手に作成しているものなので Vine Linux および Project Vine へのお問い合わせは絶対にしないでください (しても意味がないです)。


SCore 5.4 編

SCore 5.4 用 kernel の作成

SCore 用のパッチをあてた計算機ホスト用の kernel を作成します。SCore 配布 サイトでもパッチ適用済の kernel-2.4.*.{i386, i586, i686, athlon}.rpm を 配布していますが、Vine Linux の kernel に既に適用されているパッチの恩恵 を受けるためには、配布している kernel に patch を適用する必要があります。 SCore 5.4 が用意しているパッチは kennel-2.4.19 用なので、Vine Linux 2.6 の kernel-2.4.19-0vl26.src.rpm をベースにしました。この kernel は手元に ある Xeon Dualの Hyperthreading を認識できているので、これを使えば SCore 用 kernel でもHyperthreading が利用できそうです。手法としては、

  1. SCore のパッチを最初にあてる
  2. SCore パッチの適用に伴い、あたらくなったパッチを外す

という、あまりにも妥協的な手法でパッチの当たったソースを作成しました。 しかし、抜いたパッチが原因かもしれないですが、gcc-3.2.2 を用いてコンパイ ルをしようとすると、インクルードファイルを読み込めずにコンパイルに失敗し てしまいます(Vine 2.6 標準の gcc-2.95.3 なら問題ないかも)。 この問題を回避するために、Makefile を強制的に書き換えるパッチを新たに用 意しました。

できた kernel

source.rpm
kernel-2.4.19-0vs1.src.rpm
binary rpm
kernel-2.4.19-0vs1.i386.rpm
kernel-2.4.19-0vs1.i686.rpm
kernel-doc-2.4.19-0vs1.i386.rpm
kernel-headers-2.4.19-0vs1.i386.rpm
kernel-smp-2.4.19-0vs1.i386.rpm
kernel-smp-2.4.19-0vs1.i686.rpm
kernel-source-2.4.19-0vs1.i386.rpm

gcc-2.95.3 を使っている場合は、spec ファイル中の Makefile322.patch を 適用しない用に修正するとよいかもしれません (試してないので自信なし)。kernel configuration はかなり 適当なので、自分のマシンにあった設定をしましょう。稲垣は kernel のビルド には mkkpkg を使っています。

SCore 5.4 のビルド

SCore のプログラム関連のインストールですが、*.rpm はおそらくすんなり インストールはできます(なぜかscore-doc を入れるのに glut を要求 されたのが謎)
が、いざ mpicc を使うぞというときに大量のリ ンクエラーが発生します。自分の場合だと libpm.a がきちんとリンクを保持し てないみたいです。よって、tar.gz からビルドしたほうが良いようです。 ビルドすることできちんとリンクが通るようになりました。

gcc-3.2.2 & glibc 2.3.2 を使う場合

gcc-3.2.2 を使う場合、SCore を自分でビルドしてもリンク時に libpm.a で文 句を言われる場合があります。score-src/SCore/pm2/common/pm.c で使われてい る sys_nerrsys_errlist が deprecated になったのが 原因ぽいです。これを回避する(妥協的な) パッチを用意したので、これをあててビルドすると、リンク時に文句を言わ れなくなると思います。


SCore 5.6.1 編

SCore 5.6.1 用 kernel の作成

上と同じ要領で SCore 5.6.1 用の kernel を作成してみました。ベースとした rpm は VineLinux 2.6 updates の kernel-2.4.20-0vl29.1 です。これのソース を 2.4.21 にして、ビルドしてみました。

できた kernel

source.rpm
kernel-2.4.21-0vscore2.src.rpm
binary rpm
kernel-2.4.21-0vscore2.i386.rpm
kernel-2.4.21-0vscore2.i686.rpm
kernel-doc-2.4.21-0vscore2.i386.rpm
kernel-headers-2.4.21-0vscore2.i386.rpm
kernel-smp-2.4.21-0vscore2.i386.rpm
kernel-smp-2.4.21-0vscore2.i686.rpm
kernel-source-2.4.21-0vscore2.i386.rpm

SCore 5.6.1 のビルド

最初からコンパイルで入れようとしましたがうまくいきませんでした。 ということで SCore 5.4 の時と同じように *.rpm のバイナリを先に入れてから、 ソースを展開してコンパイルするとうまくいくようです。 f90 まわりでコンパイルエラーが出ているようですが、その他の部分は問題ないようです。 問題ありありでした。コンパイルすらうまくいきません。解決法を知っている方がおりましたら教えてください。


その他

ここに記載されていないインストール/設定方法とかは SCore インストールガイドを参考にしましょう。



Valid HTML 4.01!
最終更新日 2004/4/27
Copyright© 2003-2004,稲垣 良一<inagaki@ueda.info.waseda.ac.jp>