- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi guys,
i am compiling my parallel application using ifort in my mac. it seems that i have a compatibility problem between openmpi and intel ifort 2017.
any suggestion?
when compiling a module, i have the following error:
glenan:/Users/mariano/SVN/Alya/Executables/unix |#117 > mpif90 -module Objects_x -c -fpp ../../Sources/kernel/parall/mod_communications.f90
/usr/local/include/mpif-sizeof.h(17): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_SCALAR is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_SCALAR]
SUBROUTINE MPI_Sizeof_complex128_scalar(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(24): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R1 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R1]
SUBROUTINE MPI_Sizeof_complex128_r1(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(31): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R2 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R2]
SUBROUTINE MPI_Sizeof_complex128_r2(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(38): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R3 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R3]
SUBROUTINE MPI_Sizeof_complex128_r3(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(45): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R4 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R4]
SUBROUTINE MPI_Sizeof_complex128_r4(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(52): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R5 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R5]
SUBROUTINE MPI_Sizeof_complex128_r5(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(59): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R6 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R6]
SUBROUTINE MPI_Sizeof_complex128_r6(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(66): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R7 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R7]
SUBROUTINE MPI_Sizeof_complex128_r7(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(73): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_SCALAR is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_SCALAR]
SUBROUTINE MPI_Sizeof_complex32_scalar(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(80): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R1 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R1]
SUBROUTINE MPI_Sizeof_complex32_r1(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(87): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R2 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R2]
SUBROUTINE MPI_Sizeof_complex32_r2(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(94): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R3 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R3]
SUBROUTINE MPI_Sizeof_complex32_r3(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(101): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R4 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R4]
SUBROUTINE MPI_Sizeof_complex32_r4(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(108): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R5 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R5]
SUBROUTINE MPI_Sizeof_complex32_r5(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(115): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R6 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R6]
SUBROUTINE MPI_Sizeof_complex32_r6(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(122): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX32_R7 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX32_R7]
SUBROUTINE MPI_Sizeof_complex32_r7(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(129): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_SCALAR is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_SCALAR]
SUBROUTINE MPI_Sizeof_complex64_scalar(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(136): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R1 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R1]
SUBROUTINE MPI_Sizeof_complex64_r1(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(143): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R2 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R2]
SUBROUTINE MPI_Sizeof_complex64_r2(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(150): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R3 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R3]
SUBROUTINE MPI_Sizeof_complex64_r3(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(157): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R4 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R4]
SUBROUTINE MPI_Sizeof_complex64_r4(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(164): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R5 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R5]
SUBROUTINE MPI_Sizeof_complex64_r5(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(171): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R6 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R6]
SUBROUTINE MPI_Sizeof_complex64_r6(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(178): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX64_R7 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX64_R7]
SUBROUTINE MPI_Sizeof_complex64_r7(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(185): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_SCALAR is not distinguishable from this declaration. [MPI_SIZEOF_INT16_SCALAR]
SUBROUTINE MPI_Sizeof_int16_scalar(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(192): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_R1 is not distinguishable from this declaration. [MPI_SIZEOF_INT16_R1]
SUBROUTINE MPI_Sizeof_int16_r1(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(199): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_R2 is not distinguishable from this declaration. [MPI_SIZEOF_INT16_R2]
SUBROUTINE MPI_Sizeof_int16_r2(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(206): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_R3 is not distinguishable from this declaration. [MPI_SIZEOF_INT16_R3]
SUBROUTINE MPI_Sizeof_int16_r3(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(213): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_R4 is not distinguishable from this declaration. [MPI_SIZEOF_INT16_R4]
SUBROUTINE MPI_Sizeof_int16_r4(x, size, ierror)
-----------------^
/usr/local/include/mpif-sizeof.h(220): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_INT16_R5 is not distinguishable from this declaration. [MPI_SIZEOF_INT16_R5]
SUBROUTINE MPI_Sizeof_int16_r5(x, size, ierror)
-----------------^
/var/folders/77/ngbk1km12l1fl6dspttb14b80000gn/T/ifortseQu2w.i90(15484): catastrophic error: Too many errors, exiting
compilation aborted for ../../Sources/kernel/parall/mod_communications.f90 (code 1)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you follow instructions at openmpi.org to build OpenMPI against ifort? If you are maintaining gfortran and ifort copies of openmpi, you will need to keep them separate (and separate from any other MPI), setting paths for one or the other.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
good point... but it seems that building an openmpi against ifort is not solving the issue...
i have downloaded the last openmpi version, 2.0.2. i make it and install with this openmpi configure:
./configure F77=ifort FC=ifort --prefix=/opt/intel-openmpi-2.0.2
i have renamed with an alias my gfortran mpif90, so now it points to
/opt/intel-openmpi-2.0.2/bin
and i still have the same error, but now it looks like the mpif90 who is considering is correct, because it is pointing to the correct new path.
the error is now:
glenan:/Users/mariano/SVN/Alya/Executables/unix |#126 > mpif90 -module Objects_x -c -fpp ../../Sources/kernel/parall/mod_communications.f90
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(17): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_SCALAR is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_SCALAR]
SUBROUTINE MPI_Sizeof_complex128_scalar(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(24): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R1 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R1]
SUBROUTINE MPI_Sizeof_complex128_r1(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(31): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R2 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R2]
SUBROUTINE MPI_Sizeof_complex128_r2(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(38): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R3 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R3]
SUBROUTINE MPI_Sizeof_complex128_r3(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(45): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R4 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R4]
SUBROUTINE MPI_Sizeof_complex128_r4(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(52): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R5 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R5]
SUBROUTINE MPI_Sizeof_complex128_r5(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(59): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R6 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R6]
SUBROUTINE MPI_Sizeof_complex128_r6(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(66): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R7 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R7]
SUBROUTINE MPI_Sizeof_complex128_r7(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(73): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R8 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R8]
SUBROUTINE MPI_Sizeof_complex128_r8(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(80): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R9 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R9]
SUBROUTINE MPI_Sizeof_complex128_r9(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(87): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R10 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R10]
SUBROUTINE MPI_Sizeof_complex128_r10(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(94): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R11 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R11]
SUBROUTINE MPI_Sizeof_complex128_r11(x, size, ierror)
-----------------^
/opt/intel-openmpi-2.0.2/include/mpif-sizeof.h(101): error #5286: Ambiguous generic interface MPI_SIZEOF: previously declared specific procedure MPI_SIZEOF_COMPLEX128_R12 is not distinguishable from this declaration. [MPI_SIZEOF_COMPLEX128_R12]
SUBROUTINE MPI_Sizeof_complex128_r12(x, size, ierror)
-----------------^
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The error messages suggest to me that you have INCLUDEd the MPI declarations twice.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
dear steve,
yes, me too... but i don't see how. I have just compiled a new openmpi using ifort as fortran compiler and used the resulting mpif90 to compile my code...
the error mentions a "opt/intel-openmpi-2.0.2/include/mpi-sizeof.h" which is the openmpi i build using intel.
if it is trying to combine this with another one, i don't know where it got it...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I know almost nothing about OpenMPI, but the problem you are having is not related to the compiler. Typically you would not be including a file that defines just MPI_SIZEOF, but rather all of the MPI declarations. And even better would be to USE the module provided by the MPI implementation rather than using INCLUDE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have same error using ifort,openmpi. Please teach me this solution! How to I resolve this problem.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page