Clarification: MPI_Address was deprecated for MPI_Get_address (which properly has the const in it). The MPI_Info_set problem is a bug and I'll commit a fix for that one now.
What you might want to do is update your Score-P code to the current standard, since you are striving for MPI-3 compliance anyway. On Mar 11, 2014, at 4:15 PM, Ralph Castain <r...@open-mpi.org> wrote: > Hmmm....well, we appear to have a problem. According to our Forum reps, those > functions were deprecated by the Forum and hence the standard was actually > NOT updated with "const" declarations. For some odd reason, MPICH went ahead > and updated them anyway - leaving MPICH out of compliance with the standard. > > So we aren't entirely sure what we should do here. We're going to discuss it > tomorrow, but our initial decision was to follow the standard and just note > that MPICH is out of compliance. > > > On Mar 11, 2014, at 3:55 PM, Orion Poplawski <or...@cora.nwra.com> wrote: > >> On 03/11/2014 11:30 AM, Jeff Squyres (jsquyres) wrote: >>> The safest thing for scoreP (and *any* MPI application/middleware) is to >>> not wholly rely on the MPI_VERSION macros. >>> >>>> From a theoretical sense, the MPI_VERSION macro should be sufficient. >>> >>> But in reality, the upgrade of an MPI implementation to support all of >>> MPI-3 is a gradual thing and takes time. Hence, OMPI 1.7.4 supports *part* >>> of MPI-3, but not all of it. There's simply no way to indicate this >>> "partial MPI-3 support" with the simplistic MPI_VERSION macro -- that macro >>> is pretty much an all-or-nothing value. Which simply doesn't reflect >>> reality. Sorry. :-\ >>> >>> If it helps, you might try an OMPI 1.7.5rc (I'm due to make rc2 later this >>> afternoon). 1.7.5 should be full MPI-3 compliant -- if there are any >>> const's missing, those are bugs. >>> >> >> Thanks for the help. However, with 1.7.5rc2 I'm still seeing: >> >> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:64:1: error: >> conflicting types for 'MPI_Address' >> MPI_Address( SCOREP_MPI_CONST_DECL void* location, MPI_Aint* address ) >> ^ >> In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0, >> from >> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:45: >> /usr/include/openmpi-x86_64/mpi.h:1176:44: note: previous declaration of >> 'MPI_Address' was here >> OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address) >> ^ >> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:651:1: error: >> conflicting types for 'MPI_Info_set' >> MPI_Info_set( MPI_Info info, SCOREP_MPI_CONST_DECL char* key, >> SCOREP_MPI_CONST_DECL char* value ) >> ^ >> In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0, >> from >> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:45: >> /usr/include/openmpi-x86_64/mpi.h:1512:44: note: previous declaration of >> 'MPI_Info_set' was here >> OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, char *key, char *value); >> ^ >> The MPI-3 spec seems to side with Score-P here for MPI_Info_set. I couldn't >> find a definition for MPI_Address in the MPI-3 spec. Mpich appears to >> delare it const void *location. >> >> >>> That being said, to fully support OMPI 1.7.4, more fine-grained configure >>> checks for const will likely be required. >> >> At this point I'm hoping to just skip 1.7.4 and move to 1.7.5. >> >>> (keep in mind that this same thing is going to happen for MPI 3.1, MPI 4.0, >>> ...etc.) >> >> Yup. >> >> - Orion >> >>> >>> >>> >>> >>> On Mar 11, 2014, at 1:14 PM, Orion Poplawski <or...@cora.nwra.com> wrote: >>> >>>> FYI - >>>> >>>> Looks like the mix of MPI 3 compliant and older declarations is causing a >>>> bit of an issue for Score-P support. The current Score-P code bases >>>> adding the const qualifiers on MPI_VERSION >= 3. But openmpi 1.7.4 is >>>> still MPI_VERSION 2 (SUB 2). If I change scorep to add the const >>>> qualifiers for openmpi 1.7.4, then it has trouble with some different >>>> routines that are missing the const qualifiers, for example MPI_Address >>>> and MPI_Info_set. It's tough to support a mix like this. >>>> >>>> - Orion >>>> >>>> -------- Original Message -------- >>>> Subject: Re: [Score-P support] Compile errors of Fedora rawhide >>>> Date: Tue, 11 Mar 2014 14:16:46 +0100 >>>> From: Daniel Lorenz <d.lor...@grs-sim.de> >>>> To: Orion Poplawski <or...@cora.nwra.com> >>>> CC: Score-P Support <supp...@score-p.org> >>>> >>>> Hi, >>>> >>>> I can reproduce the results with openmpi 1.7.4. It seems that openmpi >>>> 1.7.4 added const qualifiers to some MPI function parameters which cause >>>> this error. For MPI 3 many function arguments get such a const qualifier, >>>> and openmpi 1.7.4 added some MPI 3 features. However, not all function >>>> signatures in openmpi 1.7.4 are changed to the MPI 3 standard. Thus, there >>>> is a mixture of MPI 2 compliant functions and MPI 3 compliant functions. >>>> To support such mixtures we need to add a couple of additional checks. If >>>> you want to use the current Score-P with openmpi 1.7.4, the easiest >>>> workaround you could try is to build Score-P with the mpi.h header from >>>> openmpi 1.7.3. However there is no guarantee that it works. Another option >>>> is to adapt the Score-P MPI function wrapper signatures to the openmpi >>>> 1.7.4. >>>> >>>> Regards, >>>> Daniel >>>> >>>> On 11 Mar 2014, at 03:35, Orion Poplawski <or...@cora.nwra.com> wrote: >>>> >>>>> scorep 1.2.3 is compiling fine on Fedora 20, but failing on Fedora >>>>> Rawhide during the openmpi build. Full build log is here: >>>>> http://kojipkgs.fedoraproject.org//work/tasks/191/6620191/build.log >>>>> >>>>> errors are like: >>>>> >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:334:1: error: >>>>> conflicting types for 'MPI_Group_excl' >>>>> MPI_Group_excl( MPI_Group group, int n, SCOREP_MPI_CONST_DECL int* >>>>> ranks, MPI_Group* newgroup ) >>>>> ^ >>>>> In file included from >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0, >>>>> from >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:44: >>>>> /usr/include/openmpi-i386/mpi.h:1451:20: note: previous declaration of >>>>> 'MPI_Group_excl' was here >>>>> OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, const int >>>>> ranks[], >>>>> ^ >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:371:1: error: >>>>> conflicting types for 'MPI_Group_incl' >>>>> MPI_Group_incl( MPI_Group group, int n, SCOREP_MPI_CONST_DECL int* >>>>> ranks, MPI_Group* newgroup ) >>>>> ^ >>>>> In file included from >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0, >>>>> from >>>>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:44: >>>>> /usr/include/openmpi-i386/mpi.h:1455:20: note: previous declaration of >>>>> 'MPI_Group_incl' was here >>>>> OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, const int >>>>> ranks[], >>>>> ^ >>>>> >>>>> one difference is openmpi 1.7.4 instead of 1.7.3. Let me know what else >>>>> I can provide. >>>>> >>>>> - Orion >>>>> >>>>> -- >>>>> Orion Poplawski >>>>> Technical Manager 303-415-9701 x222 >>>>> NWRA/CoRA Division FAX: 303-415-9702 >>>>> 3380 Mitchell Lane or...@cora.nwra.com >>>>> Boulder, CO 80301 http://www.cora.nwra.com >>>>> _______________________________________________ >>>>> Support mailing list for Score-P >>>>> supp...@score-p.org >>>>> https://mailman.zih.tu-dresden.de/groups/listinfo/scorep-support >>>> >>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> de...@open-mpi.org >>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>> Link to this post: >>>> http://www.open-mpi.org/community/lists/devel/2014/03/14320.php >>> >>> >> >> >> -- >> Orion Poplawski >> Technical Manager 303-415-9701 x222 >> NWRA, Boulder/CoRA Office FAX: 303-415-9702 >> 3380 Mitchell Lane or...@nwra.com >> Boulder, CO 80301 http://www.nwra.com >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/03/14329.php >