MPEでNPBのログを取る、ではまる。

今日もはまってしまった。2時間くらい。
NPB(NAS Paralle Benchmarks)のログをMPEを使って取ろうとしたんだけど、なぜか正しい使い方したのに取れない。以前は問題なかったのに。MPEのライブラリをリンクしてNPB(LU)をコンパイルすると、問題なく通るし、実行もできる。でもなぜかログファイルが出力されない。NPBのmake.defはコンパイラの指定以外は以前とまったく同じ。MPEのライブラリに若干手を加えていたので僕のミスかとも思ったんだけど、他のプログラムだとうまく行く。
結局問題はmake.defにあった。以前はMPIライブラリとして、IntelコンパイラコンパイルしたMPICHを使っていたんだけど、今回はGCC(3.3)でコンパイルしたMPICH。GCC版のMPICHを使うときに、make.defでFMPI_LIB、CMPI_LIBをMPICHのライブラリに設定するとうまくMPEライブラリとリンクできないみたい。Intelコンパイラ版MPICHではこんなことはなかったので、GCCの独自機能による問題だったみたい。
こういう問題は、ほんとにぶつかりたくない問題だよなぁ。環境によって変わってくるなんて。