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

Rob Latham robl at mcs.anl.gov
Tue Jan 7 10:09:53 CST 2014

On Sun, Jan 05, 2014 at 04:34:45PM -0600, Jed Brown wrote:
> Why can't that code use ADIOI_AINT_CAST_TO_VOID_PTR, which is equivalent

Absolutely no reason why not.  Thanks for the suggestion. It's a one line
change; master builds and links on blue gene and my laptop.

Jed, can I have your Signed-off (as MPICH process defines it) on this?

commit 029b65d59368b671977bee661c84eb98c0d1128f
Author: Rob Latham <robl at mcs.anl.gov>
Date:   Tue Jan 7 10:06:17 2014 -0600

    Use ROMIO pointer-casting routines
    the code in glue_romio replicates a bit of pointer-size assertion logic.
    it's only used by ROMIO, though.  if mpitypedefs.h is not included (see
    recent standalone-romio cleanups) we will get an undefined symbol at
    link time (MPI_AINT_CAST_TO_VOID_PTR).  Use equivalent
    ADIOI_AINT_CAST_TO_VOID_PTR instead for this ROMIO-related code.

diff --git a/src/include/glue_romio.h.in b/src/include/glue_romio.h.in
index 4d60ed2f..f0743538 100644
--- a/src/include/glue_romio.h.in
+++ b/src/include/glue_romio.h.in
@@ -42,9 +42,10 @@ extern int MPIR_Ext_dbg_romio_terse_enabled;
 extern int MPIR_Ext_dbg_romio_typical_enabled;
 extern int MPIR_Ext_dbg_romio_verbose_enabled;
-/* a copy of MPID_Ensure_Aint_fits_in_pointer for external use */
+/* a copy of MPID_Ensure_Aint_fits_in_pointer for external use, slightly
+ * modified to use ROMIO's version of the pointer-casting macro */
 #define MPIR_Ext_ensure_Aint_fits_in_pointer(aint) \
-  MPIR_Ext_assert((aint) == (MPI_Aint)(MPIR_Upint) MPI_AINT_CAST_TO_VOID_PTR(aint));
+  MPIR_Ext_assert((aint) == (MPI_Aint)(MPIR_Upint) ADIOI_AINT_CAST_TO_VOID_PTR(aint));
 /* to be called early by ROMIO's initialization process in order to setup init-time
  * glue code that cannot be initialized statically */


Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA

More information about the discuss mailing list