On 09.01.2022 15:54, Ralph Castain via devel wrote:
Hi Marco

Try the patch here (for the prrte 3rd-party subdirectory): 
https://github.com/openpmix/prrte/pull/1173


Ralph


Thanks Ralph,

I will do on the next build
as I need still to test the current build.


To complete the build I also needed the attached:


5.0.0rc2-amend-DEF.patch
    to correct a missing def in OPAL

CYGWIN-undefined.patch
    to pass "-no-undefined" to pmix and romio to allow shared lib

CYGWIN-interface-workaround.patch
temporary workaround to avoid the "interface" collision with Windows headers
    I will look to provide a better solution for this point.

Regards
Marco
--- origsrc/openmpi-5.0.0rc2/opal/util/minmax.h 2021-10-18 17:27:42.000000000 
+0200
+++ src/openmpi-5.0.0rc2/opal/util/minmax.h     2022-01-09 12:46:07.148969800 
+0100
@@ -40,7 +40,7 @@ OPAL_DEFINE_MINMAX(float, float)
 OPAL_DEFINE_MINMAX(double, double)
 OPAL_DEFINE_MINMAX(void *, ptr)
 
-#if OPAL_C_HAVE__GENERIC
+#ifdef OPAL_C_HAVE__GENERIC
 #    define opal_min(a, b) \
         (_Generic((a) + (b),                                                \
                                  int8_t: opal_min_8,                    \
--- 
origsrc/openmpi-5.0.0rc2/3rd-party/prrte/src/mca/oob/tcp/oob_tcp_connection.c   
    2021-10-18 17:28:05.000000000 +0200
+++ src/openmpi-5.0.0rc2/3rd-party/prrte/src/mca/oob/tcp/oob_tcp_connection.c   
2022-01-09 11:13:29.687212300 +0100
@@ -160,6 +160,9 @@ void prte_oob_tcp_peer_try_connect(int f
     prte_oob_tcp_peer_t *peer;
     prte_oob_tcp_addr_t *addr;
     bool connected = false;
+#if defined interface
+#  undef interface
+#endif
     prte_if_t *interface;
     char *host;
 
--- origsrc/openmpi-5.0.0rc2/opal/mca/btl/tcp/btl_tcp_proc.c    2021-10-18 
17:27:42.000000000 +0200
+++ src/openmpi-5.0.0rc2/opal/mca/btl/tcp/btl_tcp_proc.c        2022-01-09 
12:48:27.075225600 +0100
@@ -160,6 +160,9 @@ static int mca_btl_tcp_proc_create_inter
        fields needed in the proc version */
     for (i = 0; i < btl_proc->proc_addr_count; i++) {
         /* Construct opal_if_t objects for the remote interfaces */
+#ifdef interface
+#  undef interface
+#endif
         opal_if_t *interface = OBJ_NEW(opal_if_t);
         if (NULL == interface) {
             rc = OPAL_ERR_OUT_OF_RESOURCE;
--- origsrc/openmpi-5.0.0rc2/3rd-party/openpmix/configure.ac    2021-10-18 
17:28:09.000000000 +0200
+++ src/openmpi-5.0.0rc2/3rd-party/openpmix/configure.ac        2022-01-09 
04:51:14.271907200 +0100
@@ -337,6 +337,23 @@ AC_ARG_ENABLE(werror,
 ])
 
 ####################################################################
+# no-undefined needed on some platform for shared lib
+####################################################################
+
+AC_MSG_CHECKING([if libtool needs -no-undefined flag to build shared 
libraries])
+case "`uname`" in
+  CYGWIN*|MINGW*|AIX*)
+    ## Add in the -no-undefined flag to LDFLAGS for libtool.
+    AC_MSG_RESULT([yes])
+    LDFLAGS="$LDFLAGS -no-undefined"
+    ;;
+  *)
+    ## Don't add in anything.
+    AC_MSG_RESULT([no])
+    ;;
+esac
+
+####################################################################
 # Version information
 ####################################################################
 
--- origsrc/openmpi-5.0.0rc2/3rd-party/romio341/configure.ac    2021-10-18 
17:27:42.000000000 +0200
+++ src/openmpi-5.0.0rc2/3rd-party/romio341/configure.ac        2022-01-09 
04:58:32.150499100 +0100
@@ -1784,6 +1784,19 @@ AM_PROG_LIBTOOL
 # support gcov test coverage information
 PAC_ENABLE_COVERAGE
 
+AC_MSG_CHECKING([if libtool needs -no-undefined flag to build shared 
libraries])
+case "`uname`" in
+  CYGWIN*|MINGW*|AIX*)
+    ## Add in the -no-undefined flag to LDFLAGS for libtool.
+    AC_MSG_RESULT([yes])
+    LDFLAGS="$LDFLAGS -no-undefined"
+    ;;
+  *)
+    ## Don't add in anything.
+    AC_MSG_RESULT([no])
+    ;;
+esac
+
 AC_MSG_NOTICE([setting CC to $CC])
 AC_MSG_NOTICE([setting F77 to $F77])
 AC_MSG_NOTICE([setting TEST_CC to $TEST_CC])
--- origsrc/openmpi-5.0.0rc2/3rd-party/romio341/mpl/configure.ac        
2021-10-18 17:27:42.000000000 +0200
+++ src/openmpi-5.0.0rc2/3rd-party/romio341/mpl/configure.ac    2022-01-09 
05:01:27.462723200 +0100
@@ -1077,6 +1077,19 @@ CFLAGS=""
 AX_GCC_FUNC_ATTRIBUTE(fallthrough)
 PAC_POP_ALL_FLAGS
 
+AC_MSG_CHECKING([if libtool needs -no-undefined flag to build shared 
libraries])
+case "`uname`" in
+  CYGWIN*|MINGW*|AIX*)
+    ## Add in the -no-undefined flag to LDFLAGS for libtool.
+    AC_MSG_RESULT([yes])
+    LDFLAGS="$LDFLAGS -no-undefined"
+    ;;
+  *)
+    ## Don't add in anything.
+    AC_MSG_RESULT([no])
+    ;;
+esac
+
 dnl Final output
 AC_CONFIG_FILES([Makefile localdefs include/mpl_timer.h])
 AC_OUTPUT

Reply via email to