某スーパーコンピュータでPymolをコンパイルする

とあるスーパーコンピュータで(適当に想像してください、SUSE Linuxで動いているそうです)、分子描画ソフトのPyMOLをコンパイルして使えるようにしてみました。やるべきことはそんなにないのですが、色々と詰まってしまってようやくできました。

流れとしてはこんな感じ。

1. subversionのインストール
2. python 2.5のインストール
3. Mesaのインストール
4. PyMOLのインストール

1. subversionのインストール

古いバージョンならばソースコードがtar.gzになっているものsourceforgeから落とせますが、最新の物はsubversionでないと落とせないようです。 1 subversionは色々と便利なので、インストールしました。

依存関係がいくつかあって、neonのバージョンは0.25.4じゃないとダメみたいです。そして、neonがないとhttpsからのダウンロードができませんでした。

2. python 2.5のインストール

これはそのまま

./configure  --prefix=/home/ユーザー名/local
make
make install

だけ。

3. Mesaのインストール

PyMOLはGLUTというOpenGL(3D描画のためのAPI)のフロントエンドライブラリ?を利用しているので、それが使えないとまずいです。

ということで、ここでGLUTをダウンロードして適当にコンパイルしてみるものの、後のPyMOLのコンパイルでちっともうまくいきません。PyMOLの./configureのオプションを見てみると、–enable-mesaなんて言うのがありますので、じゃあMesaをインストールしてみようと思ってみました。

MesaLib-7.0.3.tar.gzとMesaGLUT-7.0.3をダウンロードして、make

tar zxvf MesaLib-7.0.3.tar.gz
tar zxvf MesaGLUT-7.0.3
cd Mesa-7.0.3
make linux-x86-64

makeの後のオプションはただ単にmakeとだけやれば出てきます。適当な物を選択します。

これで、Mesa-7.0.3/lib64(もしくはlib)に

  • libGL.so
  • libGL.so.1.5.070003
  • libGLU.so.1
  • libGLw.so
  • libGLw.so.1.0.0
  • libOSMesa.so.6
  • libglut.so
  • libglut.so.3.7.1
  • libGL.so.1
  • libGLU.so
  • libGLU.so.1.3.070003
  • libGLw.so.1
  • libOSMesa.so
  • libOSMesa.so.6.5.3
  • libglut.so.3

というファイルができたので、/home/ユーザー名/local/libにコピーしました。

4. PyMOLのインストール

svn co https://pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol pymol
cd pymol
python setup.py build
python setup.py install
python setup2.py install

起動してみたところ、16CPUを認識してるよと言っています。

それにしても、意気揚々とインストールしたのに描画がとんでもなく遅いです。どうもX Window Systemが遅そう。

  1. 落とせるのはフリーバージョンのVersion 0.99だが、問題はないと思う []