Skip to content

Cannot build the MPI ABI on macOS 26.2 arm64 #7719

@dalcinl

Description

@dalcinl

The configure-generated mpichconf.h on macOS contains the following bad defines

grep 'MPIR_COMPLEX$' workdir/src/include/mpichconf.h
#define MPIR_CXX_DOUBLE_COMPLEX_INTERNAL MPIR_COMPLEX
#define MPIR_CXX_FLOAT_COMPLEX_INTERNAL MPIR_COMPLEX

On Linux, I see the correct MPIR_COMPLEX64/32.

/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:82:5: error: use of undeclared identifier 'MPIR_COMPLEX'; did you mean 'MPIR_COMM'?
   82 |     type_name_entry(CXX_FLOAT_COMPLEX,  COMPLEX),         /* 0x34 */
      |     ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:24:45: note: expanded from macro 'type_name_entry'
   24 | #define type_name_entry(x_, g_) { MPI_##x_, MPIR_##x_##_INTERNAL, MPIR_DT_GROUP_##g_, "MPI_" #x_ }
      |                                             ^
<scratch space>:109:1: note: expanded from here
  109 | MPIR_CXX_FLOAT_COMPLEX_INTERNAL
      | ^
./src/include/mpichconf.h:823:41: note: expanded from macro 'MPIR_CXX_FLOAT_COMPLEX_INTERNAL'
  823 | #define MPIR_CXX_FLOAT_COMPLEX_INTERNAL MPIR_COMPLEX
      |                                         ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/include/mpir_objects.h:142:5: note: 'MPIR_COMM' declared here
  142 |     MPIR_COMM = 0x1,
      |     ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:83:5: error: use of undeclared identifier 'MPIR_COMPLEX'; did you mean 'MPIR_COMM'?
   83 |     type_name_entry(CXX_DOUBLE_COMPLEX, COMPLEX),         /* 0x35 */
      |     ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:24:45: note: expanded from macro 'type_name_entry'
   24 | #define type_name_entry(x_, g_) { MPI_##x_, MPIR_##x_##_INTERNAL, MPIR_DT_GROUP_##g_, "MPI_" #x_ }
      |                                             ^
<scratch space>:114:1: note: expanded from here
  114 | MPIR_CXX_DOUBLE_COMPLEX_INTERNAL
      | ^
./src/include/mpichconf.h:820:42: note: expanded from macro 'MPIR_CXX_DOUBLE_COMPLEX_INTERNAL'
  820 | #define MPIR_CXX_DOUBLE_COMPLEX_INTERNAL MPIR_COMPLEX
      |                                          ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/include/mpir_objects.h:142:5: note: 'MPIR_COMM' declared here
  142 |     MPIR_COMM = 0x1,
      |     ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:84:5: error: use of undeclared identifier 'MPIR_ALT_COMPLEX'
   84 |     type_name_entry(CXX_LONG_DOUBLE_COMPLEX, COMPLEX),    /* 0x36 */
      |     ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:24:45: note: expanded from macro 'type_name_entry'
   24 | #define type_name_entry(x_, g_) { MPI_##x_, MPIR_##x_##_INTERNAL, MPIR_DT_GROUP_##g_, "MPI_" #x_ }
      |                                             ^
<scratch space>:119:1: note: expanded from here
  119 | MPIR_CXX_LONG_DOUBLE_COMPLEX_INTERNAL
      | ^
./src/include/mpichconf.h:826:47: note: expanded from macro 'MPIR_CXX_LONG_DOUBLE_COMPLEX_INTERNAL'
  826 | #define MPIR_CXX_LONG_DOUBLE_COMPLEX_INTERNAL MPIR_ALT_COMPLEX
      |                                               ^
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpi/datatype/typeutil.c:119:23: error: invalid application of 'sizeof' to an incomplete type 'struct MPIR_Datatype_builtin_entry[]'
  119 |     MPIR_Assert(sizeof(MPIR_Internal_types) / sizeof(MPIR_Internal_types[0]) ==
      |                       ^~~~~~~~~~~~~~~~~~~~~
/Users/dalcinl/Devel/mpi-publish/package/source/src/include/mpir_assert.h:41:24: note: expanded from macro 'MPIR_Assert'
   41 |         if (unlikely(!(a_))) {                         \
      |                        ^~
/Users/dalcinl/Devel/mpi-publish/package/source/src/mpl/include/mpl_base.h:81:42: note: expanded from macro 'unlikely'
   81 | #define unlikely(x_) __builtin_expect(!!(x_),0)
      |                                          ^~
4 errors generated.
make[3]: *** [src/mpi/datatype/lib_libpmpi_abi_la-typeutil.lo] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions