Configure: WARNING: "mpif77” is not a working MPI Fortran 77 compiler

助教好,

在進行Compile and Run WRF作業時,安裝pNewCDF在這個步驟有跳出問題。

FCFLAGS="-fallow-argument-mismatch -O2 -g" CC=mpicc CXX=mpicxx ./configure MPICC=mpicc MPICXX=mpicxx MPIF77=mpif77 MPIF90=mpif90 --prefix=$APPROOT/opt/pnetcdf-1.12.0

返回Error如下:

checking whether /home/rot/Download/openmpi/bin/mpif77 is a valid MPI compiler … no

configure: WARNING:


“/home/rot/Download/openmpi/bin/mpif77” is not a working MPI Fortran 77 compiler.

Thus, the Fortran feature is disabled.


checking for m4 … no

checking for gm4 … no

configure: error: “m4 utility program is required by PnetCDF”

看起來是gfortran安裝上的問題,可能是因為之前有在根目錄安裝過gcc, gfortran,但基本上還是執行hackmd上提供的指令,想問一下助教我的推論是否正確,還有我是應該要把根目錄的資料砍掉重裝,還是有其他解決方法?

謝謝助教

Charless.

同學好,

這邊導致 error 的主要問題是

configure: error: “m4 utility program is required by PnetCDF”

這理應是裝機時就有裝到的,可以透過這個指令檢查:
which m4

如果因為某些原因你的 Ubuntu 沒有 m4 可以使用以下指令安裝:
sudo apt-get install m4

如果已經安裝完成請確認你的 PATH 等環境變數,是否能讓 configure 正確找到 m4 的位置。

展佑

關於 warning

mpif77 在 mpich 應該會被自動安裝。
你可以先測試 mpif77 是否能正確使用(compile 一個簡單的 FORTRAN Program)來確定問題。

另外 apt install gcc gfortran 在根目錄是沒問題的。

展佑

另外同學,我為你的 title 重新命名成更精確的描述,請見諒。

1個讚

*更新一下後來問題的解決方式

之前在上課時有將MPI建立在其他地方,但因為安裝MPI時變數是設定

PATH=$PATH:/path/to/openmpi/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/openmpi/lib

因此就算後來有export新的PATH和LD_LIBRARY_PATH,系統一樣會先讀取到之前安裝的地方,只要在~/.bashrc把之前的設定註解掉就能順利安裝。

Charles

2個讚