Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Brian W. Barrett (bbarrett_at_[hidden])
Date: 2006-12-30 21:50:34


Thanks for the bug report. You are absolutely correct - the #define is
incorrect in Open MPI. I've committed a fix to our development trunk and
it should be included in the future releases. In the mean time, it is
safe to change the line in the installed mpi.h for Open MPI from:

  #define MPI_ERRCODES_IGNORE ((void *) 0) /* don't return error
codes */

to

  #define MPI_ERRCODES_IGNORE ((int *) 0) /* don't return error
codes */

Since it's a simple cast, there is no need to recompile Open MPI's libmpi
-- modifying the installed mpi.h is safe.

Thanks again,

Brian

> OPEN MPI folks,
>
> Please see the possible error in your code, if this is indeed an error
> on your part we would appreciate a fix as soon as possible so that we do
> not have to direct our users to other MPI implementations.
>
> Thanks
>
> Barry
>
>
> On Fri, 29 Dec 2006, Satish Balay wrote:
>
>> Looks like there is some issues with MPI_Spawn() and OpenMPI.
>>
>> >>>>>
>> libfast in:
>> /Volumes/MaxtorUFS1/geoframesvn/tools/petsc-dev/src/sys/objects
>> mpinit.c: In function 'PetscErrorCode PetscOpenMPSpawn(PetscMPIInt)':
>> mpinit.c:73: error: invalid conversion from 'void*' to 'int*'
>> mpinit.c:73: error: initializing argument 8 of 'int
>> MPI_Comm_spawn(char*, char**, int, ompi_info_t*, int, omp
>> i_communicator_t*, ompi_communicator_t**, int*)'
>> ar: mpinit.o: No such file or directory
>> <<<<<<
>>
>> ierr =
>> MPI_Comm_spawn(programname,argv,nodesize-1,MPI_INFO_NULL,0,PETSC_COMM_SELF,&children,MPI_ERRCODES_IGNORE);CHKERRQ(ierr);
>>
>>
>> Looks like using MPI_ERRCODES_IGNORE in that function call is
>> correct. However OpenMPI declares it to '((void *) 0)' giving compile
>> error with c++. [MPICH declares it to '(int *)0' - which doesn't give
>> any compile erorrs].
>>
>> I guss the following change should work - but I suspect this is an
>> openmpi bug.. I don't think its appropriate to make this change in
>> PETSc code..
>>
>> ierr =
>> MPI_Comm_spawn(programname,argv,nodesize-1,MPI_INFO_NULL,0,PETSC_COMM_SELF,&children,(int*)
>> MPI_ERRCODES_IGNORE);CHKERRQ(ierr);
>>
>> Satish
>>
>> On Fri, 29 Dec 2006, Charles Williams wrote:
>>
>> > Hi,
>> >
>> > I'm not sure if this is a problem with PETSc or OpenMPI. Things were
>> building
>> > OK on December 19, and this problem has crept in since then. Thanks
>> for any
>> > ideas.
>> >
>> > Thanks,
>> > Charles
>> >
>> >
>> >
>> > Charles A. Williams
>> > Dept. of Earth & Environmental Sciences
>> > Science Center, 2C01B
>> > Rensselaer Polytechnic Institute
>> > Troy, NY 12180
>> > Phone: (518) 276-3369
>> > FAX: (518) 276-2012
>> > e-mail: willic3_at_[hidden]
>> >
>> >
>>
>>
>
> --===============0719315771==--
>
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>