私は mpif90 を使用して、サードパーティのソフトウェアをコンパイルしています。これは、私の場合は gcc の mpi バージョンです。パッケージにはメイクファイルが付属しています。オブジェクト ファイルをコンパイルした後、makefile は ar でアーカイブを作成しますが、入力オブジェクト ファイルがないため、これは失敗します。事実上、オブジェクトファイル (.o) を手動でコンパイルしようとしました
mpif90 -lmkl_gf -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -openmp -O3 -DMPI -c a.f90
ao が作成されず、代わりに .mod ファイルが作成されます。私は fortran の経験があまりなく、少し戸惑っています。なぜなら、-c フラグはオブジェクトを作成する必要があるからです。
フラグopenmpを削除すると、gfortranがオブジェクトファイルを作成することを確認しました
ノート:
mpif90 -v
gcc version 4.4.3
OS : Ubuntu 10.04.4 LTS