LoginSignup
3
5

More than 5 years have passed since last update.

【作業メモ】CentOS 7 上で PyMOL をソースからビルド

Last updated at Posted at 2015-12-08

昔(いつのことだろう)は自力で PyMOL をソースからビルドしようとすると依存性地獄にハマったりして大変だった気がするが、久しぶりにやってみたら簡単だったのでその作業メモ。(筆者の初 Qiita 記事)

前半は PyMOL のビルドの話だが、後半は単に NVIDIA のビデオカードが Linux 環境でちゃんと駆動されてないことに対するトラブルシューティングで、特に PyMOL に限った話ではなく一般に Linux に NVIDIA ドライバーを入れるとき必要な作業。

対象環境

  • CentOS。一時 EPEL に PyMOL があって yum で入れられた時もあった?ようだが今(本記事執筆時2015年12月)はダメぽなのでソースからやることにした。古めの rpm は探せば転がっているが新しいのが見当たらない(気がする)。
  • Fedora の場合は yum install pymol でイケる模様。比較的新しいバージョンの PyMOL の rpm も転がっているのでそれを使っても OK。
  • まぁいずれにしろ、最新版 PyMOL を使いたかったら自力ビルド。
    (単に分子ビューワーとして使うぶんには古いバージョンでも特に困ることは無いと思うが。)

  • Ubuntu でも apt-get install pymol だけで入る模様。Mac の場合も brew install pymol だけで入るっぽいし、アルファツイッタラー銀すみす氏 の詳細な記事(PyMOL 1.7.6.0+APBS plugin works on Mac Yosemite using HomebrewPyMOL ver 1.6 インストール for Windows)があるのでそちらがオススメ。こちらの記事(bi.biopapyrus.net: PyMOL のインストール)も簡潔で good。

PyMOL のビルド作業

この記事(PyMOLWiki: Linux Install)に従うだけ。簡単。

必要なものをインストール
yum install subversion gcc gcc-c++ kernel-devel python-devel tkinter python-pmw \ 
glew-devel freeglut-devel libpng-devel freetype-devel libxml2-devel
ソースをSubversionからダウンロード
cd /tmp
svn co svn://svn.code.sf.net/p/pymol/code/trunk/pymol
cd pymol
ビルド・インストール
prefix=/opt/pymol-svn
modules=$prefix/modules
export CPPFLAGS="-std=c++0x"
python setup.py build install \
    --home=$prefix \
    --install-lib=$modules \
    --install-scripts=$prefix

おしまい。

これで起動できる
/opt/pymol-svn/pymol
リンク貼りたければ適宜
sudo ln -s /opt/pymol-svn/pymol /usr/bin/pymol

pymol_1.8x.png

これで使える

、、が、使えてはいるものの全然ヌルヌル動いてくれてなかった。

これはビルドした PyMOL の問題ではなく、Linux からビデオカードがちゃんと駆動できていないせいで、
CUDA とか使いたい時も直面する問題。

PyMOL_nouveau.png

CentOS に純正ビデオカードドライバを入れる

Nouveau とかいう OS 付属のフリーのドライバを無効化して、NVIDIA の純正ドライバを入れる。

確認:ぬ~ぼ~入ってる
lsmod | grep nouveau

まず無効化作業。
こちら(Qiita: CentOS 7にNVIDIA GeForce GTX TITAN Xを導入)にも記載があるように、
/etc/modprobe.d/modprobe.conf/etc/modprobe.d/nouveau_blacklist.conf

blacklist nouveau

の一行を足せばよいらしいのでやってみたが、再起動しても相変わらず nouveau 切れてなかった。謎。

埒が明かなかったので、こちらを参考に
今度は grub のコンフィグ (/etc/default/grub) を編集し、GRUB_CMDLINE_LINUX 内に

rdblacklist=nouveau

これを追記。

コンフィグファイル作成
grub2-mkconfig -o /boot/grub2/grub.cfg

で、これで再起動するとめでたく nouveau 切れている。

あとは NVIDIA ドライバのインストール作業。

ビデオカード確認
lspci | grep -i nvidia

NVIDIA のサイトから対応するドライバインストーラーをゲット。
あとで CUI 環境から実行することになるので、分かりやすく /tmp あたりに置いておく。

ランレベル変更
init 3

CUI モードになる。
root でログインし、ダウンロードしておいたドライバインストーラーを実行。

インストーラ―実行
chmod +x <Nvidia file>.run
./<Nvidia file>.run

インストーラーの指示に従いインストール。

それが済んだら、

ランレベル戻す
init 5

これで完了、PyMOL もヌルヌル動くようになった。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5