Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Win32 compilation broken (MSVC2008, OpenMPI1.4.1)
From: Shiqing Fan (fan_at_[hidden])
Date: 2010-01-19 11:33:56

Hi Farago,

I'm afraid that currently Open MPI doesn't have such feature to make
Linux and Windows work together. But the idea is still interesting. :-)

By the way, there are many configure options for windows build are still
experimental, and they may not work or work improperly.


T. Farago wrote:
> He, this is getting annoying, but I have another question:
> I am trying to get windows and linux hosts to work together. Is this
> even possible with openmpi? I tried mpich2 first but there were
> several problems and on google I found some hints that openmpi will do
> the job. However I don't see any cross-platform run-time systems.
> Obviously rsh/ssh doesn't work on Windows and neither does MS CCP on
> linux.
> The FAQ does state heterogeneous execution environments but I get the
> feeling Windows <> Linux is not what is meant there.
> Tom
> 2010/1/19 T. Farago <farago1_at_[hidden]>:
>> Is the windows build actually working? I have the static library
>> version working correctly, however shared libraries give linker errors
>> when compiling an MPI application. It seems libmpi_cxx.lib doesn't
>> export any functions, only constant data members (checked through
>> dependency walker of libmpi_cxx.dll and dumpbin of libmpi_cxx.lib)
>> Eg in a very simple MPI application I get unresolved external symbols
>> about MPI::Datatype::Free, MPI::Win::Free, MPI::Comm::Comm and
>> ompi_mpi_cxx_op_intercept. I am linking to libmpi.lib and
>> libmpi_cxx.lib, both of which have been built with the CMake solution
>> where the only changes were the enabling of heterogeneous support, the
>> one in osc_rdma_data_move.c and setting Link Library Dependencies to
>> yes as per my previous mail.
>> 2010/1/19 T. Farago <farago1_at_[hidden]>:
>>> Information: Windows XP SP3 x86, MSVC 2008 Professional, openmpi 1.4.1
>>> There is a compile error if I enable heterogeneous support, see error
>>> message below. The relevant line is:
>>> payload= (void*)malloc(buflen);
>>> ompi/mca/osc/rdma/osc_rdma_data_move.c(1059): error C2440: '=': cannot
>>> convert from 'void *' to 'void **'
>>> gcc doesn't complain, I've changed void* to void** which seems to
>>> "fix" the problem
>>> Also when generating the MSVC2008 project files through CMake (2.8.0)
>>> there are linker errors for all the project files. libopen-pal.lib and
>>> libopen-rte.lib aren't linked in with the other projects. I couldn't
>>> fnd anything in CMake to fix this, so I manually edited each project
>>> file to change LinkLibraryDependencies to TRUE which for some reason
>>> is set to FALSE by CMake. The relevant option in Visual Studio is in
>>> Configuration Properties > Linker > General > Link Library
>>> Dependencies. I am not familiar with CMake so unfortunately I can't
>>> offer a proper solution.
> _______________________________________________
> users mailing list
> users_at_[hidden]

Shiqing Fan                
High Performance Computing           Tel.: +49 711 685 87234
  Center Stuttgart (HLRS)            Fax.: +49 711 685 65832
Address:Allmandring 30               email: fan_at_[hidden]    
70569 Stuttgart