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

Ian Malone ibm21 at cam.ac.uk
Wed Aug 24 04:34:38 CDT 2005


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.

The following is the result of trying to compile the mpi hello world,
but it's typical of what happens when trying to build any of these
programs:

c:\program files\mpich2\include\mpicxx.h(1385) : error C2555: 
'MPI::Nullcomm::Clone' : overriding virtual function differs from 
'MPI::Comm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1033) : see 
declaration of 'Comm'
c:\program files\mpich2\include\mpicxx.h(1435) : error C2555: 
'MPI::Intercomm::Clone' : overriding virtual function differs from 
'MPI::Comm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1033) : see 
declaration of 'Comm'
c:\program files\mpich2\include\mpicxx.h(1465) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1465) : 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(1499) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1499) : 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(1505) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1505) : 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(1510) : error C2555: 
'MPI::Intracomm::Clone' : overriding virtual function differs from 
'MPI::Comm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1033) : see 
declaration of 'Comm'
c:\program files\mpich2\include\mpicxx.h(1516) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1516) : 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(1523) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1523) : 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(1530) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1530) : 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(1544) : error C2259: 
'Intercomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1390) : see 
declaration of 'Intercomm'
c:\program files\mpich2\include\mpicxx.h(1544) : 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(2161) : error C2555: 
'MPI::Graphcomm::Clone' : overriding virtual function differs from 
'MPI::Comm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1033) : see 
declaration of 'Comm'
c:\program files\mpich2\include\mpicxx.h(2161) : error C2555: 
'MPI::Graphcomm::Clone' : overriding virtual function differs from 
'MPI::Intracomm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1442) : see 
declaration of 'Intracomm'
c:\program files\mpich2\include\mpicxx.h(2260) : error C2555: 
'MPI::Cartcomm::Clone' : overriding virtual function differs from 
'MPI::Comm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1033) : see 
declaration of 'Comm'
c:\program files\mpich2\include\mpicxx.h(2260) : error C2555: 
'MPI::Cartcomm::Clone' : overriding virtual function differs from 
'MPI::Intracomm::Clone' only by return type or calling convention
         c:\program files\mpich2\include\mpicxx.h(1442) : see 
declaration of 'Intracomm'
c:\program files\mpich2\include\mpicxx.h(2353) : error C2259: 
'Intracomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1442) : see 
declaration of 'Intracomm'
c:\program files\mpich2\include\mpicxx.h(2353) : 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(2354) : error C2259: 
'Intracomm' : cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1442) : see 
declaration of 'Intracomm'
c:\program files\mpich2\include\mpicxx.h(2354) : 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(2356) : error C2259: 'Nullcomm' 
: cannot instantiate abstract class due to following members:
         c:\program files\mpich2\include\mpicxx.h(1366) : see 
declaration of 'Nullcomm'
c:\program files\mpich2\include\mpicxx.h(2356) : 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'


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




More information about the mpich-discuss mailing list