[mpich-devel] build broken on 'master': 'mpitypedefs.h' file not found
Rob Latham
robl at mcs.anl.gov
Sun Jan 5 22:54:02 CST 2014
On Sat, Jan 04, 2014 at 08:08:16PM -0600, Jed Brown wrote:
> Rob, this commit does not build, at least not if you configure out of
> source.
Jenkins did not find a problem with this commit, so I'd like to
understand what's different in your environment.
> commit 3146e104017114b0e9a7e04824cfeb7383155d12
> Author: Rob Latham <robl at mcs.anl.gov>
> Date: Fri Jan 3 12:35:21 2014 -0600
>
> bring back include file needed for MPI_AINT_CAST_TO_VOID_PTR
>
> In romio-standalone fixes, I zapped the inclusion of mpitypedefs.h, but
> the "ensure this large value fits into pointer without overflowing"
> check relied on some MPICH-internal macros/routines. Only Blue Gene
> driver uses those routines, so nightly tests didn't flag it.
>
> No reviewer.
>
> diff --git a/src/mpi/romio/adio/include/adioi.h b/src/mpi/romio/adio/include/adioi.h
> index ea07491..0553dfb 100644
> --- a/src/mpi/romio/adio/include/adioi.h
> +++ b/src/mpi/romio/adio/include/adioi.h
> @@ -824,6 +824,7 @@ int ADIOI_MPE_iwrite_b;
> /* Use MPID_Ensure_Aint_fits_in_pointer from mpiutil.h and
> MPI_AINT_CAST_TO_VOID_PTR from configure (mpi.h) */
> #include "glue_romio.h"
> + #include "mpitypedefs.h" /* for MPI_AINT_CAST_TO_VOID_PTR */
>
> #define ADIOI_AINT_CAST_TO_VOID_PTR (void*)(MPIR_Pint)
> /* The next two casts are only used when you don't want sign extension
>
>
> /bin/sh ./libtool --tag=CC --mode=compile clang -DHAVE_CONFIG_H -I. -I../../../../src/mpi/romio -I./adio/include -I/home/jed/src/mpich/build-clang/src/include -I./include -I../../../../src/mpi/romio/include -I./mpi-io -I../../../../src/mpi/romio/mpi-io -I./adio/include -I../../../../src/mpi/romio/adio/include -I/home/jed/src/mpich/build-clang/src/mpl/include -I/home/jed/src/mpich/src/mpl/include -I/home/jed/src/mpich/src/openpa/src -I/home/jed/src/mpich/build-clang/src/openpa/src -I/home/jed/src/mpich/build-clang/src/mpi/romio/include -O2 -DFORTRANUNDERSCORE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_ROMIOCONF_H -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT mpi-io/close.lo -MD -MP -MF $depbase.Tpo -c -o mpi-io/close.lo ../../../../src/mpi/romio/mpi-io/close.c &&\
> mv -f $depbase.Tpo $depbase.Plo
> libtool: compile: clang -DHAVE_CONFIG_H -I. -I../../../../src/mpi/romio -I./adio/include -I/home/jed/src/mpich/build-clang/src/include -I./include -I../../../../src/mpi/romio/include -I./mpi-io -I../../../../src/mpi/romio/mpi-io -I./adio/include -I../../../../src/mpi/romio/adio/include -I/home/jed/src/mpich/build-clang/src/mpl/include -I/home/jed/src/mpich/src/mpl/include -I/home/jed/src/mpich/src/openpa/src -I/home/jed/src/mpich/build-clang/src/openpa/src -I/home/jed/src/mpich/build-clang/src/mpi/romio/include -O2 -DFORTRANUNDERSCORE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_ROMIOCONF_H -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT mpi-io/close.lo -MD -MP -MF mpi-io/.deps/close.Tpo -c ../../../../src/mpi/romio/mpi-io/close.c -fPIC -DPIC -o mpi-io/.libs/close.o
> In file included from ../../../../src/mpi/romio/mpi-io/close.c:8:
> In file included from ../../../../src/mpi/romio/mpi-io/mpioimpl.h:15:
> In file included from ../../../../src/mpi/romio/adio/include/adio.h:440:
> ../../../../src/mpi/romio/adio/include/adioi.h:827:12: fatal error: 'mpitypedefs.h' file not found
> #include "mpitypedefs.h" /* for MPI_AINT_CAST_TO_VOID_PTR */
> ^
> 1 error generated.
>
>
>
> Now my understanding is that ROMIO is still supposed to be buildable
> outside the MPI source tree, in which case src/include/mpitypedefs.h
> will not be available. I don't know how you want to fix this.
Yeah, in the standalone ROMIO case I do not include that
mpich-specific header, and MPI_AINT_CAST_TO_VOID_PTR becomes nothing
thanks to macro magic.
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
More information about the devel
mailing list