[mpich-discuss] build broken on 'master': 'mpitypedefs.h' file not found

Robert Latham robl at mcs.anl.gov
Sun Jan 5 06:56:55 CST 2014

I'll just pull the two lines I need from mpitypedefs.h instead of including the entire file.  Until I do that, delete the, #include. It's only needed on bluegene
sent from a phone.

Jed Brown <jedbrown at mcs.anl.gov> wrote:

Rob, this commit does not build, at least not if you configure out of

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.

More information about the discuss mailing list