trouble compiling mpich-1.2.5.2 with IFORT 8.0

trouble compiling mpich-1.2.5.2 with IFORT 8.0

I'm trying to compile mpich 1.2.5.2 with the IFORT 8.0 on Red Hat 7.3. I use the following commands...

./configure -prefix=/opt/intel_mpich --enable-f90modules --with-arch=LINUX -c++=/opt/intel/bin/icc -cc=/opt/intel/bin/icc -fc=/opt/intel/bin/ifort -f90=/opt/intel/bin/ifort

then we make and get the following errors...

making Fortran 90 module for MPI
Types are integer integer1 integer2 integer8 real real16 real8 complex complex16 logical logical1 logical2 logical8
/opt/intel/bin/ifort -c -I../include mpi_constants.f90
ar cr /root/mpich-1.2.5.2/lib/libmpichf90.a mpi_constants.o
/opt/intel/bin/ifort -c mpi1.f90
ar cr /root/mpich-1.2.5.2/lib/libmpichf90.a mpi1.o
/opt/intel/bin/ifort -c mpi2.f90
fortcom: Error: mpi2.f90, line 146: This is an incorrect value for a kind type parameter in this context. [KIND]
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
................^
fortcom: Error: mpi2.f90, line 161: This is an incorrect value for a kind type parameter in this context. [KIND]
INTEGER(KIND=MPI_ADDRESS_KIND) ATTRIBUTE_VAL
................^
fortcom: Error: mpi2.f90, line 175: This is an incorrect value for a kind type parameter in this context. [KIND]
INTEGER(KIND=MPI_ADDRESS_KIND) ATTRIBUTE_VAL
................^
fortcom: Error: mpi2.f90, line 196: This is an incorrect value for a kind type parameter in this context. [KIND]
INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE
.................^
fortcom: Error: mpi2.f90, line 229: This is an incorrect value for a kind type parameter in this context. [KIND]
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
................^

... etc ...

fortcom: Severe: Too many errors, exiting
compilation aborted for mpi2.f90 (code 1)
make[2]: *** [mpi2.mod] Error 1
make[1]: [mpi-modules] Error 2 (ignored)
With the exception of this one module everything else compiled fine.

Any ideas?

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I haven't seen anyone run such a recent version of mpich with ifort on such an old version of linux. Not to say it can't be done, but MPI versions tend to be limited in the range of distros they work with.

I had the same problem on RH Enterprise Linux 3 WS.

Doesn't config.log shed some light on what happened when configure tried to figure out the KIND it wants? We may hope that EL3 is about to settle down, with update 1 and the like, but I haven't succeeded in getting a fully stable installation of it yet.I believe the ifort 8.0.040 version was the firstwhich mayinclude the correct libraries for EL3 IA32.

This seems to be a problem in mpich-1.2.5.2. I had the same problem and my solution was the following:

After configure one needs to fix the mpif.h files mpich-1.2.5.2/include/mpif.h and mpich-1.2.5.2/src/fortran/include/mpif.h

Find the lines:

INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND
PARAMETER (MPI_ADDRESS_KIND=0)
PARAMETER (MPI_OFFSET_KIND=0)

and change them to

INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND
PARAMETER (MPI_ADDRESS_KIND=4)
PARAMETER (MPI_OFFSET_KIND=4)

i.e. change 0 to 4. After this you can make, and you should get fully functional f90 modules.

Hope this helps

Leave a Comment

Please sign in to add a comment. Not a member? Join today