Hello,

I have built openmpi-4.1.2 with latest intel oneapi compilers, including fortran

but I am facing problems at compilation:

mpif90 toto.f90

Undefined symbols for architecture x86_64:

  "_ompi_buffer_detach_f08", referenced from:

      import-atom in libmpi_usempif08.dylib

ld: symbol(s) not found for architecture x86_64

library libmpi_usempif08.dylib is present in $MPI_DIR/lib

mpif90 -showme

ifort -I/Users/chris/Applications/Intel/openmpi-4.1.2/include -Wl,-flat_namespace -Wl,-commons,use_dylibs -I/Users/chris/Applications/Intel/openmpi-4.1.2/lib -L/Users/chris/Applications/Intel/openmpi-4.1.2/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

if I remove -lmpi_usempif08 from that command line it works !

ifort -I/Users/chris/Applications/Intel/openmpi-4.1.2/include -Wl,-flat_namespace -Wl,-commons,use_dylibs -I/Users/chris/Applications/Intel/openmpi-4.1.2/lib -L/Users/chris/Applications/Intel/openmpi-4.1.2/lib -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi toto.f90

And program runs:

mpirun -n 4 a.out

rank=2/4

rank=3/4

rank=0/4

rank=1/4

Annexe the Program

program toto

  use mpi

  implicit none

  integer :: i

  integer :: comm,rank,size,ierror

  call mpi_init(ierror)

  comm=MPI_COMM_WORLD

  call mpi_comm_rank(comm, rank, ierror)

  call mpi_comm_size(comm, size, ierror)

  print '("rank=",i0,"/",i0)',rank,size

  call mpi_finalize(ierror)

end program toto

--

Christophe Peyret

ONERA/DAAA/NFLU

29 ave de la Division Leclerc
F92322 Châtillon Cedex

Reply via email to