red hat4にnumpy, scipyインストール

前回はred hat4にyumを入れるだけで肝心のnumpyとscipyをインスト出来なかったので、再挑戦してみた。


前回numpyがインスト出来なかったときにでてきたエラーが、Connection Peerだったので、改めて実行するとすんなり葉行った。なのでここは特に記載なし。
次にnosetestをpipでいれて、scipyも入れるかーとコマンドを打つと

sudo pip install scipy

Import Error: libimf.so: cannot open shared object file: No such file or directory

このlibimf.soって何なん?って思ってぐぐると、インテルコンパイラ関係のライブラリなのかな?それでこのエラーの解決方法に従って.bashrcを書き換えて再度読み込んだが、変わらなかった。
さらに探していくと、このページを見つけ、従ってやってみたらうまく入ったので、コマンドを残しておく。

find /opt/intel -name libimf.so

/opt/intel/cc/10.1/lib/libimf.so # for 32bit
/opt/intel/cce/10.1/lib/libimf.so  # for 64bit
/opt/intel/fc/10.1/lib/libimf.so
/opt/intel/fce/10.1/lib/libimf.so
/opt/intel/cc/9.1/lib/libimf.so
/opt/intel/cce/9.1/lib/libimf.so
/opt/intel/fc/9.1/lib/libimf.so
/opt/intel/fce/9.1/lib/libimf.so
...

#red hatのバージョンが古いから取り敢えず古い方いれておこうということで、9.1を設定ファイルに書き込む
sudo vim /etc/ld.so.conf

/opt/intel/cce/9.1/lib ←追記

#ライブラリへのリンクを作成
sudo /sbin/ldconfig

として、再度実行すると

sudo pip install scipy

Import Error: libifport.so.5: cannot open shared object file: No such file or directory

#↑と同様のエラーのようなので、
find /opt/intel -name libifport.so.5
#で見つけたやつを設定ファイルに書き込む
sudo vim /etc/ld.so.conf

/opt/intel/fce/9.1/lib ←追記

これで再度実行すると、無事インストできました^^


追記
インテルCコンパイラを使用してソースからインストールする場合、9.1では動かず10.1を使う必要があった。/opt/intel/cce/10.1/bin/などにiccvars.shがあり、

source /opt/intel/10.1/bin/iccvars.sh

環境変数を読み込んでおくとソースからのインストールの際にコンパイラを見つけられるようになる。