next up previous contents index
Next: makeに関するオプション Up: インストール Previous: プラットフォーム   Contents   Index

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

OpenMXのインストールにおける問題のほとんどは、ScaLAPACK、BLACSおよびこれらの代替ライブラリへのリンク時のエラーが原因となっています。 多くの場合においてMKLをリンクすることをお勧めします。これらのライブラリとリンクする例は「source」ディレクトリの「makefile」内に記載されています。

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


その他のコンパイラとScaLAPACK、BLACSライブラリの組み合わせも同様に可能です。 下記のコマンドを使用することで、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コンパイラの場合)

Intel Math Kernel Libraryについては以下のウェブサイト (Intel Math Kernel Library Link Line Advisor)を利用できます。

     https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
このwebsiteを利用することで、使用環境に応じて、どの様にライブラリのリンクと コンパイルオプションを設定するべきかに関して詳細な情報が得られます。


next up previous contents index
Next: makeに関するオプション Up: インストール Previous: プラットフォーム   Contents   Index