Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-07-30 20:24:53

On Jul 28, 2014, at 11:43 PM, tmishima_at_[hidden] wrote:

> [mishima_at_manage work]$ mpif90 test.f -o test.ex
> /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283':
> test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_'
> test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_'
> test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_'
> test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_'

Just to go back to the original post here: can you send the results of

  mpifort test.f -o test.ex --showme

I'd like to see what fortran libraries are being linked in. Here's what I get when I compile OMPI with the Intel suite:

$ mpifort hello_usempif08.f90 -o hello --showme
ifort hello_usempif08.f90 -o hello -I/home/jsquyres/bogus/include -I/home/jsquyres/bogus/lib -Wl,-rpath -Wl,/home/jsquyres/bogus/lib -Wl,--enable-new-dtags -L/home/jsquyres/bogus/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

I note that with the Intel compiler, the Fortran module files are created in the lib directory (i.e., $prefix/lib), which is -L'ed on the link line.  Does the PGI compiler require something different?  Does the PGI 14 compiler make an additional library for modules that we need to link in?
We didn't use CONTAINS, and it supposedly works fine with the mpi module (right, guys?), so I'm not sure would the same scheme wouldn't work for the mpi_f08 module...?
Jeff Squyres
For corporate legal information go to: