Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] Undefined symbols with MPI_Get_address
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-08-06 11:22:27


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/