Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Undefined symbols with MPI_Get_address
From: Hugo Gagnon (opensource.openmpi_at_[hidden])
Date: 2013-08-06 11:40:59


Does this mean that for now I can just replace the MPI_Get_address calls
to MPI_Address?

I tried it and I got:

$openmpif90 test.f90
test.f90:11.32:

call MPI_Address(a,address,ierr)
                                1
Error: There is no specific subroutine for the generic 'mpi_address' at
(1)

On a unrelated note, I noticed that I always get this generic message
for MPI-related compiling errors; is there a way to get more descriptive
error messages?

-- 
  Hugo Gagnon
On Tue, Aug 6, 2013, at 11:22, Jeff Squyres (jsquyres) wrote:
> You found a bug!
> 
> Embarrissingly, we have MPI_Get_address prototyped in the Fortran module,
> but it is not actually implemented (whereas MPI_Address is both
> prototyped and implemented).  Yow.  :-(
> 
> This is just a minor oversight; there's no technical issue that prevents
> this implementation.  I've committed a patch to the SVN development trunk
> (https://svn.open-mpi.org/trac/ompi/changeset/29005), and have filed to
> have this moved over to the upcoming v1.7.3 release.
> 
> 
> On Aug 5, 2013, at 7:31 AM, Hugo Gagnon
> <opensource.openmpi_at_[hidden]> wrote:
> 
> > Build log attached.
> > 
> > -- 
> >  Hugo Gagnon
> > 
> > On Mon, Aug 5, 2013, at 10:04, Hugo Gagnon wrote:
> >> Will do, for now the best I can give is the portfile containing some
> >> config options:
> >> 
> >> https://trac.macports.org/browser/trunk/dports/science/openmpi/Portfile
> >> 
> >> I used the gcc48 variant.
> >> 
> >> -- 
> >>  Hugo Gagnon
> >> 
> >> On Mon, Aug 5, 2013, at 9:52, Jeff Squyres (jsquyres) wrote:
> >>> Can you send your build logs?  See:
> >>> 
> >>>    http://www.open-mpi.org/community/help/
> >>> 
> >>> (I know you said you installed via macports, but we don't package that,
> >>> so we don't know how it's built)
> >>> 
> >>> 
> >>> On Aug 5, 2013, at 8:50 AM, Hugo Gagnon
> >>> <opensource.openmpi_at_[hidden]> wrote:
> >>> 
> >>>> I could replicate the problem with the following:
> >>>> 
> >>>> program test
> >>>> use mpi
> >>>> integer :: ierr, a
> >>>> integer(kind=MPI_ADDRESS_KIND) :: address
> >>>> call MPI_Init(ierr)
> >>>> a = 0
> >>>> call MPI_Get_address(a,address,ierr)
> >>>> write(*,*) address
> >>>> call MPI_Finalize(ierr)
> >>>> end program test
> >>>> 
> >>>> $ openmpif90 test.f90
> >>>> Undefined symbols for architecture x86_64:
> >>>> "_mpi_get_address0di4_", referenced from:
> >>>>    _MAIN__ in ccLLbLGQ.o
> >>>> ld: symbol(s) not found for architecture x86_64
> >>>> 
> >>>> -- 
> >>>> Hugo Gagnon
> >>>> 
> >>>> On Mon, Aug 5, 2013, at 9:42, Jeff Squyres (jsquyres) wrote:
> >>>>> Can you send a small reproducing example?
> >>>>> 
> >>>>> 
> >>>>> On Aug 4, 2013, at 1:46 PM, Hugo Gagnon
> >>>>> <opensource.openmpi_at_[hidden]> wrote:
> >>>>> 
> >>>>>> Hi,
> >>>>>> 
> >>>>>> I have a .f90 module containing several lines of the form:
> >>>>>> 
> >>>>>> call mpi_get_address(location, address, error)
> >>>>>> 
> >>>>>> The module compiles fine (though only if I set the "kind" of "address"
> >>>>>> to MPI_OFFSET_KIND) but I get this error at the linking stage:
> >>>>>> 
> >>>>>> Undefined symbols for architecture x86_64:
> >>>>>> "_mpi_get_address0di4_", referenced from:
> >>>>>>    ___io_mod_MOD_writegridparallel in IO_Mod.o
> >>>>>>    ___io_mod_MOD_writemeanstats in IO_Mod.o
> >>>>>>    ___io_mod_MOD_writeinststats in IO_Mod.o
> >>>>>>    ___io_mod_MOD_writequbckp in IO_Mod.o
> >>>>>> "_mpi_get_address0dr8_", referenced from:
> >>>>>>    ___io_mod_MOD_writegridparallel in IO_Mod.o
> >>>>>>    ___io_mod_MOD_writequbckp in IO_Mod.o
> >>>>>> "_mpi_get_address1dr8_", referenced from:
> >>>>>>    ___io_mod_MOD_writemeanstats in IO_Mod.o
> >>>>>>    ___io_mod_MOD_writeinststats in IO_Mod.o
> >>>>>> ld: symbol(s) not found for architecture x86_64
> >>>>>> 
> >>>>>> I'm using gcc 4.8.1 and openmpi 1.7.2, both built from macports.
> >>>>>> 
> >>>>>> Inputs appreciated,
> >>>>>> -- 
> >>>>>> Hugo Gagnon
> >>>>>> _______________________________________________
> >>>>>> users mailing list
> >>>>>> users_at_[hidden]
> >>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>>>> 
> >>>>> 
> >>>>> -- 
> >>>>> Jeff Squyres
> >>>>> jsquyres_at_[hidden]
> >>>>> For corporate legal information go to:
> >>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
> >>>>> 
> >>>>> 
> >>>>> _______________________________________________
> >>>>> users mailing list
> >>>>> users_at_[hidden]
> >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>>> _______________________________________________
> >>>> users mailing list
> >>>> users_at_[hidden]
> >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>> 
> >>> 
> >>> -- 
> >>> Jeff Squyres
> >>> jsquyres_at_[hidden]
> >>> For corporate legal information go to:
> >>> http://www.cisco.com/web/about/doing_business/legal/cri/
> >>> 
> >>> 
> >>> _______________________________________________
> >>> users mailing list
> >>> users_at_[hidden]
> >>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >> _______________________________________________
> >> users mailing list
> >> users_at_[hidden]
> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
> > <ompi-output.tar.bz2>_______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> -- 
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users