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
> 

Reply via email to