we recently encountered a problem here at UH when compiling the new ROMIO version in the trunk with PVFS2 support. The error that we are getting is a list of
ad_pvfs2_io_dtype.c:581:13: error: switch quantity not an integer ad_pvfs2_io_dtype.c:583:2: error: pointers are not permitted as case values (with a lot more similar error messages). The error is due to a code sequence in that file which does something like: switch (mpi_dtype) { case MPI_CHAR: do something; break; case MPI_BYTE: do something; break; case MPI_SHORT: ... } This works for MPICH, but not for Open MPI since the datatypes are pointers. Anyway, I have a fix which converts this switch statement in the according ROMIO file to an if ( MPI_CHAR == mpi_dtype ) else if ( == mpi_dtype ) else if ... else sequence. I was just wandering whether to commit the code to trunk, since it modifies a package that has been brought in from outside.. (There is btw. a second warning in the file which makes me a bit nervous, but that is a warning and the file still compiles, while the other one is an error and the compilation aborts... ad_pvfs2_io_dtype.c:264:6: warning: passing argument 6 of âPMPI_Type_get_contentsâ from incompatible pointer type ../../../../../../../ompi/include/mpi.h:1985:20: note: expected âMPI_Aint *â but argument is of type âint *â since an MPI_Aint really should be a long on this platform, not an int ) Thanks Edgar -- Edgar Gabriel Assistant Professor Parallel Software Technologies Lab http://pstl.cs.uh.edu Department of Computer Science University of Houston Philip G. Hoffman Hall, Room 524 Houston, TX-77204, USA Tel: +1 (713) 743-3857 Fax: +1 (713) 743-3335
signature.asc
Description: OpenPGP digital signature