Install numpy on Fujitsu FX100

FX100でも,大きな計算だけでなく大量の小さな計算をバカ並列で行うことが認められて来ているので,FX100計算サーバ上でnumpyを用いたpythonコードを走らせたいというモチベーションがあった. しかし,numpyは入っていないし,管理者に要望を伝えても,「メンテナンスの時でないとインストールできないし,優先順位は低い」みたいな感じだったので,自分でインストールしなければならなかった.

前提

gcc-4.4.7

最新バージョンではないが,もともとそのスパコンにはこのバージョンのgccがインストールされていたので,このバージョンを選択.

ここから gcc-4.4.7.tar.gz を落として来て,fx:src/にコピー.

$ ./configure --prefix=$HOME/local-fx --enable-languages=c,fortran
...
configure: error: cannot guess build type; you must specify one

となって,進むことができない. オプションに--build=sparc64-linux-gnuを追加すると,

checking for correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.2+.
Try the --with-gmp and/or --with-mpfr options to specify their locations.
Copies of these libraries' source code can be found at their respective
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/.
See also http://gcc.gnu.org/install/prerequisites.html for additional info.
If you obtained GMP and/or MPFR from a vendor distribution package, make
sure that you have installed both the libraries and the header files.
They may be located in separate packages.

となり,進めない.どうもGMPMPFRというライブラリが必要とのこと.

次のセクションにMPFRとGMPのインストールを記載する.

GMPとMPFRをインストールしたら,それらのヘッダファイルやライブラリファイルへのパスを明示的に渡してやって./configureを行う.

$ ./configure --prefix=$HOME/local-fx/ --build=sparc64-linux-gnu --with-gmp-include=$HOME/local-fx/include --with-gmp-lib=$HOME/local-fx/lib --with-mpfr-include=$HOME/local-fx/include --with-mpfr-lib=$HOME/local-fx/lib --enable-languages=c,fortran --disable-multilib
$ make -j24
$ make install

MPFR

$ ./configure --prefix=$HOME/local-fx/ --build=sparc64-linux-gnu
...
checking for gmp.h... no
configure: error: gmp.h can't be found, or is unusable.

と,結局GMPが必要.

次のセクションのGMPをインストール後,下記のようにGMPのgmp.hlibgmp.aの場所を明示的にconfigureに渡してやれば,configureは通る.

$ ./configure --prefix=$HOME/local-fx/ --build=sparc64-linux-gnu --with-gmp-include=$HOME/local-fx/include --with-gmp-lib=$HOME/local-fx/lib
$ make -j12
$ make install

GMP

下記参考

$ ./configure --prefix=$HOME/local-fx/ --build=sparc64-linux-gnu
$ make -j4
$ make check
$ make install

numpy

build

$ CC=gcc python setup.py build --fcompiler=gfortran

install

ここを参考にして下記のように--prefixにインストール先を指定.

$ python setup.py install --prefix=$HOME/local-fx

こうしたら, $HOME/local-fx/lib64/python2.6/site-packages/以下にインストールされた. libではなく,lib64であることに注意.

check

$ export PYTHONPATH=$HOME/local-fx/lib64/python2.6/site-packages:$PYTHONPATH
$ python -c "import numpy; print numpy.__file__"
/home/usr0/z41110v/local-fx/lib64/python2.6/site-packages/numpy/__init__.pyc

注意点