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: T. Farago (farago1_at_[hidden])
Date: 2010-01-19 06:15:18


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.
>>
>