Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] VT issue: Fwd: === CREATE FAILURE (trunk) ===
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-09-28 06:30:26


VT guys --

I just committed https://svn.open-mpi.org/trac/ompi/changeset/29280 so that the OMPI trunk can build. Feel free to replace it with a different/better fix.

Sorry for the rush on this! This particular problem came in with some inadequate testing of a different/new feature on the OMPI trunk. :-\

On Sep 27, 2013, at 8:44 AM, Jeff Squyres <jsquyres_at_[hidden]> wrote:

> 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) <jsquyres_at_[hidden]> 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 <mpiteam_at_[hidden]>
>>> Date: September 26, 2013 at 9:11:51 PM EDT
>>> To: <testing_at_[hidden]>
>>> Subject: === CREATE FAILURE (trunk) ===
>>> Reply-To: <devel_at_[hidden]>
>>>
>>>
>>> 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
>>> testing_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/testing
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/