[MPICH] Can't compile against mpich2 with visual c++ 6

David Ashton ashton at mcs.anl.gov
Wed Aug 24 16:57:19 CDT 2005


imalone,

I apologize for using you to test our unreleased code.  We fixed the problem
and this time I used VC 6 to check that the fix works.  Attached is the new
mpicxx.h.

If you don't use C++ you can define MPICH_SKIP_MPICXX and when you do you
can define HAVE_NO_VARIABLE_RETURN_TYPE_SUPPORT before including mpi.h.

FYI, VC++ .NET 2003 is able to compile mpicxx.h as is.

-David Ashton

-----Original Message-----
From: owner-mpich-discuss at mcs.anl.gov
[mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Ian Malone
Sent: Wednesday, August 24, 2005 6:31 AM
To: mpich-discuss at mcs.anl.gov
Subject: Re: [MPICH] Can't compile against mpich2 with visual c++ 6

Thanks for your help.  I'm now down to 2 errors, 2 warnings, both
about MPI::Comm::Clone(void) not being defined:

  C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1390) : error C2259: 'Comm' : 
cannot instantiate abstract class due to following members:
         C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1033) : see 
declaration of 'Comm'
C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1390) : warning C4259: 'class 
MPI::Comm &__thiscall MPI::Comm::Clone(void) const' : pure virtual 
function was not defined
         C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1350) : see 
declaration of 'Clone'
C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1390) : error C2259: 'Comm' : 
cannot instantiate abstract class due to following members:
         C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1033) : see 
declaration of 'Comm'
C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1390) : warning C4259: 'class 
MPI::Comm &__thiscall MPI::Comm::Clone(void) const' : pure virtual 
function was not defined
         C:\PROGRAM FILES\MPICH2\INCLUDE\mpicxx.h(1350) : see 
declaration of 'Clone'

(At the compile stage, not linking)
Which seems a bit tangled.  At the moment I can just use
#define MPICH_SKIP_MPICXX because I'm using C style bindings,
but if you want me try anything further I'd be happy to.


David Ashton wrote:
 > imalone,
 >
 > We've added support for compilers that cannot handle the Clone functions
 > correctly.  It will be available in the next release.  I've attached the
 > current version of mpicxx.h.  You would need to add "#define
 > HAVE_NO_VARIABLE_RETURN_TYPE_SUPPORT" before including mpicxx.h.
 >
 > This new header file may not work with the cxx.lib in the current
 > distribution but you can use it to see what needs to be changed in 
the old
 > header file.  Simply copy the HAVE_NO_VARIABLE_RETURN_TYPE_SUPPORT 
sections
 > from the new file to the old.
 >
 > -David Ashton
 >
 > -----Original Message-----
 > From: owner-mpich-discuss at mcs.anl.gov
 > [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Ian Malone
 > Sent: Wednesday, August 24, 2005 3:35 AM
 > To: mpich-discuss at mcs.anl.gov
 > Subject: [MPICH] Can't compile against mpich2 with visual c++ 6
 >
 > I've already posted this to comp.parallel.mpi, but maybe this
 > is a more appropriate place:
 >
 > Does anyone know what's going on here?
 > I've got a set of programs written for mpi.  As far as I remember
 > they originally used MPICH2 and worked fine.  Then my machine had
 > to be reinstalled and I can't get them to build anymore.  I'm
 > pretty sure this is a different version of MPICH2 from the one I
 > originally used, because I don't remember having to deal with
 > SEEK_SET et. al.  Visual C++ is patched to SP6 and the version
 > of MPICH2 is the current one available for download.
 >

<snip>

 >
 > I can go and use MPICH 1.2, but I get the impression it's deprecated.
 > Any suggestions appreciated.
 >
 >

-- 
imalone

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mpicxx.h
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20050824/92c8d57b/attachment.diff>


More information about the mpich-discuss mailing list