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.open...@user.fastmail.fm> 
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.open...@user.fastmail.fm> 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.open...@user.fastmail.fm> 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
>>>>>> us...@open-mpi.org
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Jeff Squyres
>>>>> jsquy...@cisco.com
>>>>> For corporate legal information go to:
>>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> us...@open-mpi.org
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> 
>>> 
>>> -- 
>>> Jeff Squyres
>>> jsquy...@cisco.com
>>> For corporate legal information go to:
>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> <ompi-output.tar.bz2>_______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to