インストールの際のヒント

OpenMXのインストールにおける問題のほとんどは、LAPACK、BLASおよびこれらの代替ライブラリへのリンクが原因です。 多くの場合においてACMLあるいはMKLをリンクすることをお勧めしますが、計算速度および安定性において ACMLがMKLよりやや 優位性があります。これらのライブラリとリンクする例は「source」ディレクトリの「makefile」内に記されています。

いくつかのポピュラーなプラットフォーム上でのインストールに関するヒントを以下に記します。 OpenMXは、CとFORTRANのコンパイラ、およびLAPACK、BLAS、FFTライブラリを必要とします。 更に、Cコンパイラはリンクのために使用されるため、コンパイラに対応するFORTRANライブラリを明示的に 指定しなければなりません。下記に一般的なコンパイラおよびLAPACK、BLASライブラリにおけるインストール設定例を記します。 ここで、FFTライブラリは/usr/local/fftw3/にインストールされていると仮定します。

その他のコンパイラとLAPACK、BLASライブラリの組み合わせも同様に可能です。 下記のコマンドを使用することで、MPIが利用するコンパイラ(Intel、PGI、GNU等の)についての情報を表示することができます。

      %mpicc -compile-info (MPICHの場合)
      %mpicc -help  (OpenMPIの場合) 
   
CコンパイラがFORTRANライブラリの保存場所を見つけることができない場合、次のようなリンクエラーが生じることがあります。

Intelコンパイラの場合:

      /usr/bin/ld: cannot find -lifcore
PGIコンパイラの場合:
      /usr/bin/ld: cannot find -lpgf90
あるいは
     -lpgf90_rpm1, -lpgf902, -lpgf90rtl, -lpgftnrtl

(-pgf90libsは、これらへのショートカットにすぎないため)

GNUコンパイラの場合:

      /usr/bin/ld: cannot find -lgfortran

このリンクに関する問題を解決するには、以下の手順でFORTRANライブラリを明示的に指定する必要があります。 まずFORTRANコンパイラの保存場所は次のコマンドで確認することができます。

      %which ifort (Intelコンパイラの場合)
      /opt/intel/fce/10.0.026/bin/ifort

      %which pgf90 (PGIコンパイラの場合)
      /opt/pgi/linux86-64/7.0/bin/pgf90

      %which gfortran (GNUコンパイラの場合)
      /usr/bin/gfortran
次に、FORTRANライブラリは通常、上記/binディレクトリの親ディレクトリの下にある/libディレクトリにあるため、次のようにLIBを指定します。
     LIB= ... -L/opt/intel/fce/10.0.026/lib -lifcore (Intelコンパイラの場合)
     LIB= ... -L/opt/pgi/linux86-64/7.0/lib -pgf90libs (PGIコンパイラの場合)
     LIB= ... -L/usr/lib -lgfortran (GNUコンパイラの場合)



2017-03-07