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