Compilation error of parallel fem

Discussion about building and installing Elmer
Post Reply
Jyh-Shyong
Posts: 2
Joined: 29 Aug 2013, 11:22
Antispam: Yes

Compilation error of parallel fem

Post by Jyh-Shyong »

Hi,

I followed the instruction of http://www.elmerfem.org/elmerwiki/index ... on_(Linux)
and tried to compile parallel version of elmerfem, I got some error in module fel:

mpif90 -O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math -I/usr/include/mumps -m64 -fPIC -fPIC -I. -Ibinio -I../binio -I/usr/lib64/mpi/gcc/openmpi/include -I/usr/include -c SParIterComm.f90
SParIterComm.f90:3842.52:

CALL MPI_WaitAll( n, requests, MPI_STATUSES_IGNORE, ierr )
1
Error: Symbol 'mpi_statuses_ignore' at (1) has no IMPLICIT type
SParIterComm.f90:3684.52:

CALL MPI_WaitAll( n, requests, MPI_STATUSES_IGNORE, ierr )
1
Error: Symbol 'mpi_statuses_ignore' at (1) has no IMPLICIT type
SParIterComm.f90:3510.52:

CALL MPI_WaitAll( n, requests, MPI_STATUSES_IGNORE, ierr )
1
Error: Symbol 'mpi_statuses_ignore' at (1) has no IMPLICIT type
SParIterComm.f90:3165.52:

CALL MPI_WaitAll( n, requests, MPI_STATUSES_IGNORE, ierr )
1
Error: Symbol 'mpi_statuses_ignore' at (1) has no IMPLICIT type
SParIterComm.f90:2950.52:

CALL MPI_WaitAll( n, requests, MPI_STATUSES_IGNORE, ierr )
1
Error: Symbol 'mpi_statuses_ignore' at (1) has no IMPLICIT type
make[3]: *** [SParIterComm.o] Error 1
make[3]: Leaving directory `/work/elmerfem/fem/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/work/elmerfem/fem/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/elmerfem/fem'
make: *** [all] Error 2


Here is the script I used to configure and build fem:

#!/bin/sh -f
# This compilation script worked on a RHEL5.0
# kernel: x86_64 2.6.18-92.1.22.el5

source /usr/lib64/mpi/gcc/openmpi/bin/mpivars.sh
export CC="mpicc"
export CXX="mpicxx"
export FC="mpif90"
export F77="mpif90"

export ELMER_INSTALL="/usr/local/elmerfem"
export ELMER_HOME="/usr/local/elmerfem"
export MPI_HOME="/usr/lib64/mpi/gcc/openmpi"
export HYPRE="/usr/local"
export CPPFLAGS="-I$HYPRE/include"

export MUMPS="/usr"
export FCPPFLAGS="$FCPPFLAGS -DHAVE_MUMPS"
export CFLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math"
export CXXFLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math"
export FCFLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math -I$MUMPS/include/mumps "
export F90FLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math"
export F77FLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math"
export FFLAGS="-O3 -march=x86-64 -ftree-vectorize -funroll-loops -ffast-math"
export LDFLAGS=" -L$MUMPS/lib64 -ldmumps -ldmumps_scotch -ldmumps_seq \
-L/usr/local/elmerfem/lib64 -L$MPI_HOME/lib64 -lscalapack \
-lmpiblacs -lmpiblacsCinit -lmpiblacsF77init -lmpi_f77 -lmpi"

#modules="matc umfpack mathlibs meshgen2d eio hutiter fem elmergrid front post"

##### configure, build and install #########
##### parallel #######
make distclean
./configure --prefix=$ELMER_INSTALL --with-mpi=yes --with-mpi-dir=$MPI_HOME --with-64bits=yes \
--with-hypre="-L$HYPRE/lib64 -lHYPRE"
make
make install


Any suggection? Thanks.

Jyh-Shyong Ho, Ph.D.
Research Scientist
National Center for High Performance Computing
Hsinchu, Taiwan, ROC
NickR7
Posts: 18
Joined: 29 Jul 2013, 18:03
Antispam: Yes

Re: Compilation error of parallel fem

Post by NickR7 »

if mpif.h isn't in /usr/lib64/mpi/gcc/openmpi/include, then that is your problem.
Jyh-Shyong
Posts: 2
Joined: 29 Aug 2013, 11:22
Antispam: Yes

Re: Compilation error of parallel fem

Post by Jyh-Shyong »

Thanks for your reply. I replaced the statement
INCLUDE "mpif.h"
with
INCLUDE "mpif-common.h"
of SParIterCommon.src and solved my problem.

For mpich/mpich2, there is no mpif-common.h, and file mpif.h has all MPI variables defined.
However, for openmpi, most MPI variables are defined in file mpif-common.h.
Post Reply