I looked into this.  There's two issues:

1. In vt_mpiwrap.c, there's this code:

-----
#if defined(MPI_VERSION) && MPI_VERSION >= 3
# define CONST const
#else /* MPI_VERSION */
# define CONST
#endif /* MPI_VERSION */
-----

Open MPI doesn't yet identify itself as MPI_VERSION>=3, so this test didn't set 
CONST to "const".

Two immediate options come to mind:

a) put in a bypass for Open MPI
b) have a configure test check for const in the mpi.h prototypes

...or you can fix it whatever way is appropriate for your code base/style.  :-)

2. If I override that test, I still get some errors with the following names:

a) MPI_Type_hindexed
b) MPI_Type_struct
c) MPI_Unpack

a) and b) are deprecated; we did not add const to those prototypes.  I think 
that's the correct decision, because these functions were removed from the 
MPI-3 document.  Indeed, MPI-3 says to look at MPI-2.2 for the prototypes of 
these functions; those MPI-2.2 prototypes do not include const.  Can you remove 
CONST from your Type_hindexed and Type_struct prototypes?

c) looks like our mistake -- it looks like there's a missing "const" in our 
MPI_Unpack prototype (and definition).  I'll commit a fix for this shortly.


On Sep 27, 2013, at 4:54 AM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote:

> VT guys -
> 
> We just updated all the OMPI c bindings to have the MPI 3 const and [] 
> declarations on the trunk. 
> 
> Can you update VT to match?
> 
> Sent from my phone. No type good. 
> 
> Begin forwarded message:
> 
>> From: MPI Team <mpit...@crest.iu.edu>
>> Date: September 26, 2013 at 9:11:51 PM EDT
>> To: <test...@open-mpi.org>
>> Subject: === CREATE FAILURE (trunk) ===
>> Reply-To: <de...@open-mpi.org>
>> 
>> 
>> ERROR: Command returned a non-zero exist status (trunk):
>>       make distcheck
>> 
>> Start time: Thu Sep 26 21:00:01 EDT 2013
>> End time:   Thu Sep 26 21:11:51 EDT 2013
>> 
>> =======================================================================
>> [... previous lines snipped ...]
>> ./vt_mpiwrap.gen.c:1283: error: conflicting types for 'MPI_Graph_map'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1433:
>>  note: previous declaration of 'MPI_Graph_map' was here
>> ./vt_mpiwrap.gen.c:1591: error: conflicting types for 
>> 'MPI_Group_translate_ranks'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1462:
>>  note: previous declaration of 'MPI_Group_translate_ranks' was here
>> ./vt_mpiwrap.gen.c:1863: error: conflicting types for 'MPI_Pack'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1561:
>>  note: previous declaration of 'MPI_Pack' was here
>> ./vt_mpiwrap.gen.c:2029: error: conflicting types for 'MPI_Test_cancelled'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1653:
>>  note: previous declaration of 'MPI_Test_cancelled' was here
>> ./vt_mpiwrap.gen.c:2371: error: conflicting types for 'MPI_Type_indexed'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1731:
>>  note: previous declaration of 'MPI_Type_indexed' was here
>> ./vt_mpiwrap.gen.c:2997: error: conflicting types for 'MPI_Pack_external'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1556:
>>  note: previous declaration of 'MPI_Pack_external' was here
>> ./vt_mpiwrap.gen.c:3039: error: conflicting types for 
>> 'MPI_Pack_external_size'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1559:
>>  note: previous declaration of 'MPI_Pack_external_size' was here
>> In file included from 
>> ../../../../../../ompi/contrib/vt/vt/vtlib/vt_mpiwrap.c:7101:
>> ./vt_mpiwrap.gen.c:3123: error: conflicting types for 
>> 'MPI_Type_create_darray'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1662:
>>  note: previous declaration of 'MPI_Type_create_darray' was here
>> ./vt_mpiwrap.gen.c:3165: error: conflicting types for 
>> 'MPI_Type_create_hindexed'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1674:
>>  note: previous declaration of 'MPI_Type_create_hindexed' was here
>> ./vt_mpiwrap.gen.c:3249: error: conflicting types for 
>> 'MPI_Type_create_indexed_block'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1684:
>>  note: previous declaration of 'MPI_Type_create_indexed_block' was here
>> ./vt_mpiwrap.gen.c:3333: error: conflicting types for 
>> 'MPI_Type_create_struct'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1688:
>>  note: previous declaration of 'MPI_Type_create_struct' was here
>> ./vt_mpiwrap.gen.c:3375: error: conflicting types for 
>> 'MPI_Type_create_subarray'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1692:
>>  note: previous declaration of 'MPI_Type_create_subarray' was here
>> ./vt_mpiwrap.gen.c:3501: error: conflicting types for 'MPI_Unpack_external'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1755:
>>  note: previous declaration of 'MPI_Unpack_external' was here
>> ./vt_mpiwrap.gen.c:3897: error: conflicting types for 'MPI_Comm_set_name'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1284:
>>  note: previous declaration of 'MPI_Comm_set_name' was here
>> ./vt_mpiwrap.gen.c:4445: error: conflicting types for 'MPI_Type_set_name'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1739:
>>  note: previous declaration of 'MPI_Type_set_name' was here
>> ./vt_mpiwrap.gen.c:4741: error: conflicting types for 'MPI_Win_set_name'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1790:
>>  note: previous declaration of 'MPI_Win_set_name' was here
>> ./vt_mpiwrap.gen.c:5345: error: conflicting types for 'MPI_File_set_view'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1332:
>>  note: previous declaration of 'MPI_File_set_view' was here
>> ./vt_mpiwrap.gen.c:5749: error: conflicting types for 'MPI_Register_datarep'
>> /home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/../../../include/mpi.h:1591:
>>  note: previous declaration of 'MPI_Register_datarep' was here
>> make[6]: *** [libvt_mpi_la-vt_mpiwrap.lo] Error 1
>> make[6]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt/vtlib'
>> make[5]: *** [all-recursive] Error 1
>> make[5]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt'
>> make[4]: *** [all] Error 2
>> make[4]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt/vt'
>> make[3]: *** [all-recursive] Error 1
>> make[3]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi/contrib/vt'
>> make[2]: *** [all-recursive] Error 1
>> make[2]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build/ompi'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory 
>> `/home/mpiteam/openmpi/nightly-tarball-build-root/trunk/create-r29274/ompi/openmpi-1.9a1r29274/_build'
>> make: *** [distcheck] Error 1
>> =======================================================================
>> 
>> Your friendly daemon,
>> Cyrador
>> _______________________________________________
>> testing mailing list
>> test...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/testing


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to