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] Windows C++ Linker Error "unresolved symbol" for MPI::Datatype::Free
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-02-21 17:12:27


If someone wants to submit a patch and/or make 1.6.4 binaries, we could move forward with that.

Please do so on the devel list, however -- not the users list (we've been a bit sloppy about separating users/devel recently; let's try to be better).

On Feb 21, 2013, at 5:08 PM, Damien Hocking <damien_at_[hidden]> wrote:

> Found it. The MPI::Datatype class isn't exported in a Win dll (no dllexport wrappers on the class), so on a shared-libs build it's not in the library symbols for anything else to see. The Windows CMAKE "BUILD_SHARED_LIBS" option is therefore busted. On a static lib build everything's in there, a dumpbin shows all the MPI::Datatype symbols. Those symbols are missing all the way back into 1.5 shared-lib builds as well.
>
> Damien
>
> On 21/02/2013 12:19 PM, Jeff Squyres (jsquyres) wrote:
>> On Feb 21, 2013, at 10:59 AM, Damien Hocking <damien_at_[hidden]> wrote:
>>
>>> Well this is interesting. The linker can't find that because MPI::Datatype::Free isn't implemented on the Windows build (in datatype_inln.h). It's declared in datatype.h though. It's not there in the Linux version either, so I don't know where the Linux build is getting that symbol from, that link should fail too. Is the C++ version of OpenMPI actually broken overall?
>> It's implemented in Datatype.cc. I'm don't remember offhand why we didn't put it in the inline versions. But it's definitely in the generated libmpi_cxx.so:
>>
>> ------
>> % nm -C libmpi_cxx.so | grep MPI::Datatype::Free
>> 0000000000016ed8 T MPI::Datatype::Free()
>> %
>> -----
>>
>
> _______________________________________________
> 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/