SCoreソースコンパイル

今度はRHEL4 WS にSCOREをインストールすることに。
対象マシンがEM64Tアーキテクチャなので、ソースからコンパイル
やってみるとこれがえらく複雑怪奇かつ困難。
はたして無事に成功するのだろうか・・・。
 
とりあえず現状報告
 

SCOREサーバーのコンパイル

まずすべてのtarボールをダウンロードし展開。
その後環境依存のファイルをいくつか編集。
今回のRedHatEnterpriseLinux はFedoraCoreと互換性があるはずなので、デフォルトで付属するFedoraの設定ファイルを流用。
結果として
score-src/SCore/rc にある x86_64-fedoracore3-linux2_6ディレクトリと
score-src/SCore/build/configure にある 同名のファイルをそれぞれ
 x86-redhat-linux2_6 にリネーム。
また、カーネルのincludeディレクトリにパスを通すため
/usr/src/kernels/ にkernel.orgより入手した linux2.6.11.tar.gzを展開。
 展開先にあるincludeのパスを
 score-src/SCore/build/configure/x86-redhat-linux2_6 の
  KERNELINCLUDE オプションに記述。
 (具体的には KERNELINCLUDE = -I/usr/src/kernels/linux2.6.11/include )
そのうえで
./configure
make
 
ちなみに KERNELINCLUDEのパスは試行錯誤で何回も失敗した。
失敗するとどこかでmakeがループするらしく、/optのパーティションをすべて食い尽くしてエラーを吐く。(makeの課程で1Gのパーティションを占有されてマジびびった。)
 
とりあえずmakeがエラー無く走ったからたぶん成功。
(警告は腐るほど出たけど)
この後のテスト結果がだめならまた考える。
 

kernelへのパッチ適用

続いて、linux2.6.11へSCoreのパッチを適用する。
先の /usr/src/kernels/linux2.6.11にSCoreのパッチをコピー。
patch -p1 -s < linux2.6.11.score.patch
make menuconf
ここでmenuconfが上がり、configの設定ができる。
変えるべきは Device Driverで、ここにあるPM/Ethernet DriverをいじればOK
ここも試行錯誤でmakeのエラーを排除したので詳細は不明。
どうも PM/Ethernet-nkp がキーに思える。
PM/Ethernet-nkpは、パッチ不要のドライバで、
http://www.pccluster.org/score/dist/score/html/ja/installation/pmeth-nkp.html
に詳しい。
ただ当方ではこれを使わずにカーネルを再コンパイルした。
これが凶と出るか吉と出るかは不明。
とりあえず今回make modulesでエラーが出なかった設定

M SCore PM/Shmem Drivers
M SCore PM/Ethernet Drivers
SCore PM/Ethernet-nkp Drivers (w/o Kernel patch)
(4) Max units of PM/Ethernet
(512) Max nodes
* Interrupt-Reaping
SCore PM/Myrinet drivers
M SCore PM/Memory (Common) drivers

計算ホストのインストール

 カーネルを変更してリブート後、
  score/install/setup -score_comp -pbm_comp
結果としては
 device memory
device ethernet
device shmem
 device myrinet
 のmakeに失敗
 これが何を意味するのか不明だが嫌な予感。
 
そしてまだまだ戦いは続く。。。