Hi, in the last few days I ported my entire fortran mpi code to "use mpif_08". You really did a great job with this interface. However, since HDF5 still uses integers to handle communicators, I have a module where I still use "use mpi", and with gfortran 5.3.0 and openmpi-1.10.2 I got some errors.
I have been able to produce an extremely minimalistic example that reproduces the same errors. If you try to compile with mpifort -c this file !========================================== module test1_mod ! I use ONLY here just to show you that errors happen even with ONLY use mpi, only: MPI_BARRIER, MPI_COMM_WORLD implicit none private public :: test1 contains subroutine test1(a) implicit none real, intent(inout) :: a integer :: ierr a=0 call mpi_barrier(MPI_COMM_WORLD, ierr) endsubroutine test1 endmodule test1_mod module prova2 use mpi_f08 implicit none private contains subroutine prova3 use test implicit none real :: a call test1(a) endsubroutine prova3 endmodule prova2 !========================================== and I obtain the errors: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_argv_null with binding label mpi_fortran_argv_null at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_argvs_null with binding label mpi_fortran_argvs_null at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_bottom with binding label mpi_fortran_bottom at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_errcodes_ignore with binding label mpi_fortran_errcodes_ignore at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_in_place with binding label mpi_fortran_in_place at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_status_ignore with binding label mpi_fortran_status_ignore at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_statuses_ignore with binding label mpi_fortran_statuses_ignore at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_unweighted with binding label mpi_fortran_unweighted at (1) uses the same global identifier as entity at (2) prova.f90:19.4: use mpi_f08 1 prova.f90:2.4: use mpi, only: MPI_BARRIER, MPI_COMM_WORLD 2 Error: Variable mpi_weights_empty with binding label mpi_fortran_weights_empty at (1) uses the same global identifier as entity at (2) I don't know if this is a compiler-related issue, since the PRIVATE statement should mask everything... Thanks in advance for the help. Andrea