diff --git a/packages/openmpi/build.sh b/packages/openmpi/build.sh index a8dc1411f..a011e8228 100644 --- a/packages/openmpi/build.sh +++ b/packages/openmpi/build.sh @@ -1,17 +1,17 @@ TERMUX_PKG_HOMEPAGE=https://www.open-mpi.org TERMUX_PKG_DESCRIPTION="The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners" TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91" -TERMUX_PKG_VERSION="2.1.1" -TERMUX_PKG_SRCURL=https://www.open-mpi.org/software/ompi/v${TERMUX_PKG_VERSION:0:3}/downloads/openmpi-$TERMUX_PKG_VERSION.tar.gz -TERMUX_PKG_SHA256=afe4bef3c4378bc76eea96c623d5aa4c1c98b9e057d281c646e68869292a77dc +TERMUX_PKG_VERSION=3.1.2 +TERMUX_PKG_SRCURL=https://download.open-mpi.org/release/open-mpi/v${TERMUX_PKG_VERSION:0:3}/openmpi-$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_SHA256=363c8a1258d12df28657e9b13bfe41e30fc129a4cfb89fcf53ff68bbe1bd65b3 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-x ac_cv_header_ifaddrs_h=no -ac_cv_header_stdint_h=no -ac_cv_header_stdlib_h=no ---disable-dlopen" +--disable-dlopen +--disable-mpi-fortran +" termux_step_pre_configure () { # rindex is an obsolete version of strrchr which is not available in Android: - CFLAGS+=" -Drindex=strrchr" + CFLAGS+=" -Drindex=strrchr -Dbcmp=memcmp" LDFLAGS+=" -llog" } diff --git a/packages/openmpi/configure.patch b/packages/openmpi/configure.patch deleted file mode 100644 index b4466fc0f..000000000 --- a/packages/openmpi/configure.patch +++ /dev/null @@ -1,38 +0,0 @@ -Make openmpi use asm stuff. This is probably a bad patch, stops working if a armv8*) option is added in future versions of openmpi. ---- src/configure 2017-05-10 18:01:14.000000000 +0200 -+++ configure 2017-08-21 16:25:06.056981123 +0200 -@@ -32870,7 +32870,7 @@ - OPAL_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' - ;; - -- armv7*) -+ arm*) - opal_cv_asm_arch="ARM" - OPAL_ASM_SUPPORT_64BIT=1 - OPAL_ASM_ARM_VERSION=7 -# @@ -66113,6 +66113,6 @@ -# # libpthreads: AIX - must check before libpthread -# # liblthread: LinuxThreads on FreeBSD -# # libpthread: The usual place (like we can define usual!) -# -plibs="-lpthreads -llthread -lpthread" -# +plibs="-lpthreads -llthread" -# -# # Only run C++ and Fortran if those compilers already configured -# @@ -78660,7 +78660,7 @@ -# $as_echo_n "checking for pthread_mutex_lock with -lpthread... " >&6; } -# # Try again with explicit -lpthread, but don't use AC_CHECK_FUNC to avoid the cache -# tmp_save_LIBS=$LIBS -# - LIBS="$LIBS -lpthread" -# + LIBS="$LIBS" -# cat confdefs.h - <<_ACEOF >conftest.$ac_ext -# /* end confdefs.h. */ -# -# @@ -78681,7 +78681,7 @@ -# _ACEOF -# if ac_fn_c_try_link "$LINENO"; then : -# hwloc_pthread_mutex_happy=yes -# - HWLOC_LIBS="$HWLOC_LIBS -lpthread" -# + HWLOC_LIBS="$HWLOC_LIBS" -# -# fi -# rm -f core conftest.err conftest.$ac_objext \ diff --git a/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch b/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch deleted file mode 100644 index c22a4ce36..000000000 --- a/packages/openmpi/opal-mca-pmix-pmix112-pmix-configure.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./opal/mca/pmix/pmix112/pmix/configure 2017-05-10 17:59:25.000000000 +0200 -+++ ../opal-mca-pmix-pmix112-pmix-configure 2017-08-21 18:41:52.480102289 +0200 -@@ -26009,7 +26009,7 @@ - - - orig_libs=$LIBS -- LIBS="-lpthread $LIBS" -+ LIBS="$LIBS" - - _x_ac_pthread_lock_found="0" - _x_ac_fcntl_lock_found="0" diff --git a/packages/openmpi/opal-util-info.c.patch b/packages/openmpi/opal-util-info.c.patch new file mode 100644 index 000000000..7cee035f9 --- /dev/null +++ b/packages/openmpi/opal-util-info.c.patch @@ -0,0 +1,12 @@ +--- ../info.c.orig 2018-09-13 21:30:21.602391682 +0200 ++++ ./opal/util/info.c 2018-09-13 21:30:30.942315803 +0200 +@@ -27,7 +27,9 @@ + + #include + #include ++#ifdef HAVE_STDLIB_H + #include ++#endif + #ifdef HAVE_UNISTD_H + #include + #endif diff --git a/packages/openmpi/opal-util-info_subscriber.c.patch b/packages/openmpi/opal-util-info_subscriber.c.patch new file mode 100644 index 000000000..cd5091619 --- /dev/null +++ b/packages/openmpi/opal-util-info_subscriber.c.patch @@ -0,0 +1,12 @@ +--- ../info_subscriber.c.orig 2018-09-13 21:27:28.615555253 +0200 ++++ ./opal/util/info_subscriber.c 2018-09-13 21:27:59.179378432 +0200 +@@ -27,7 +27,9 @@ + + #include + #include ++#ifdef HAVE_STDLIB_H + #include ++#endif + #ifdef HAVE_UNISTD_H + #include + #endif diff --git a/packages/openmpi/orte-mca-state-base-state_base_fns.c.patch b/packages/openmpi/orte-mca-state-base-state_base_fns.c.patch new file mode 100644 index 000000000..f75f9d325 --- /dev/null +++ b/packages/openmpi/orte-mca-state-base-state_base_fns.c.patch @@ -0,0 +1,15 @@ +"The getdtablesize functions has been deprecated by Posix and has been + removed from Android's LB64 ABI. Replace calls to it with the modern + equivalent sysconf(_SC_OPEN_MAX)." +https://groups.google.com/a/chromium.org/forum/#!topic/chromium-reviews/AXhZapYuHi8 +--- ../state_base_fns.c.orig 2018-09-13 21:45:45.407361866 +0200 ++++ ./orte/mca/state/base/state_base_fns.c 2018-09-13 21:45:58.999257268 +0200 +@@ -1069,7 +1069,7 @@ + + /* get the number of available file descriptors + * for this daemon */ +- nfds = getdtablesize(); ++ nfds = sysconf(_SC_OPEN_MAX); + result = NULL; + /* loop over them and get their info */ + for (i=0; i < nfds; i++) {