summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Exequiel Pedone2024-05-09 17:59:00 -0300
committerGonzalo Exequiel Pedone2024-05-09 17:59:00 -0300
commit436705bccc8ef1fc6d9b45d3e783c3ba4e04406a (patch)
tree2997a0b64e231a5d8813f065452a77ca5920a57e
parent8ad082a8d7f98ac1097913b260ddb94344e15094 (diff)
downloadaur-android-x86-openmpi.tar.gz
Package updated to 5.0.3.
-rw-r--r--.SRCINFO22
-rw-r--r--0002-Remove-getdtablesize.patch98
-rw-r--r--0003-Disable-address-patch-in-x86.patch34
-rw-r--r--0005-Fix-missing-macros-32.patch22
-rw-r--r--0007-Fix-missing-macros.patch (renamed from 0007-Fix-missing-macros-64.patch)0
-rw-r--r--0008-Force-32-bit-build.patch17
-rw-r--r--PKGBUILD119
7 files changed, 57 insertions, 255 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7cf8377ac0fd..07ea0491d140 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,10 @@
pkgbase = android-x86-openmpi
- pkgdesc = High performance message passing library (MPI) (Android, x86)
- pkgver = 4.1.6
- pkgrel = 4
+ pkgdesc = High performance message passing library (MPI) (Android x86)
+ pkgver = 5.0.3
+ pkgrel = 1
url = https://www.open-mpi.org
arch = any
- license = BSD-3-Clause AND LicenseRef-MPICH
+ license = BSD-3-Clause AND LicenseRef- MPICH
makedepends = android-x86-hwloc
makedepends = android-x86-libfabric
makedepends = android-x86-libnl
@@ -24,21 +24,17 @@ pkgbase = android-x86-openmpi
options = !buildflags
options = staticlibs
options = !emptydirs
- source = https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-4.1.6.tar.bz2
+ source = https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-5.0.3.tar.bz2
source = 0001-Remove-shmctl.patch
- source = 0002-Remove-getdtablesize.patch
- source = 0003-Disable-address-patch-in-x86.patch
source = 0004-Remove-getifaddrs.patch
- source = 0005-Fix-missing-macros-32.patch
source = 0006-Add-missing-headers.patch
- source = 0007-Fix-missing-macros-64.patch
- md5sums = c9b1c974cfc23c77c0fbdb965cd58a1c
+ source = 0007-Fix-missing-macros.patch
+ source = 0008-Force-32-bit-build.patch
+ md5sums = af6896a78969b258da908d424c1c34ca
md5sums = 137c5041b5a3a47574b5630b0ff82b4e
- md5sums = 34b93930fb47257b3a77e51bd2a13de6
- md5sums = f4b8f79f3f0cc039d2fcfca113e419e8
md5sums = 49fc1b27cf765f847ce5350a0b38d3f4
- md5sums = dfec77ec53288e16acbbd7c35f12e3c6
md5sums = 15e07e34a261129ccc56fe58d115827e
md5sums = 2801669c30f3f834ee56b5b0eeef9206
+ md5sums = 44d0ecc271eea6fc0722f02c4bd1c001
pkgname = android-x86-openmpi
diff --git a/0002-Remove-getdtablesize.patch b/0002-Remove-getdtablesize.patch
deleted file mode 100644
index 019ebfb205cb..000000000000
--- a/0002-Remove-getdtablesize.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- a/orte/mca/state/base/state_base_fns.c
-+++ b/orte/mca/state/base/state_base_fns.c
-@@ -1068,95 +1068,4 @@
-
- void orte_state_base_check_fds(orte_job_t *jdata)
- {
-- int nfds, i, fdflags, flflags;
-- char path[1024], info[256], **list=NULL, *status, *result, *r2;
-- ssize_t rc;
-- struct flock fl;
-- bool flk;
-- int cnt = 0;
--
-- /* get the number of available file descriptors
-- * for this daemon */
-- nfds = getdtablesize();
-- result = NULL;
-- /* loop over them and get their info */
-- for (i=0; i < nfds; i++) {
-- fdflags = fcntl(i, F_GETFD);
-- if (-1 == fdflags) {
-- /* no open fd in that slot */
-- continue;
-- }
-- flflags = fcntl(i, F_GETFL);
-- if (-1 == flflags) {
-- /* no open fd in that slot */
-- continue;
-- }
-- snprintf(path, 1024, "/proc/self/fd/%d", i);
-- memset(info, 0, 256);
-- /* read the info about this fd */
-- rc = readlink(path, info, 256);
-- if (-1 == rc) {
-- /* this fd is unavailable */
-- continue;
-- }
-- /* get any file locking status */
-- fl.l_type = F_WRLCK;
-- fl.l_whence = 0;
-- fl.l_start = 0;
-- fl.l_len = 0;
-- if (-1 == fcntl(i, F_GETLK, &fl)) {
-- flk = false;
-- } else {
-- flk = true;
-- }
-- /* construct the list of capabilities */
-- if (fdflags & FD_CLOEXEC) {
-- opal_argv_append_nosize(&list, "cloexec");
-- }
-- if (flflags & O_APPEND) {
-- opal_argv_append_nosize(&list, "append");
-- }
-- if (flflags & O_NONBLOCK) {
-- opal_argv_append_nosize(&list, "nonblock");
-- }
-- /* from the man page:
-- * Unlike the other values that can be specified in flags,
-- * the access mode values O_RDONLY, O_WRONLY, and O_RDWR,
-- * do not specify individual bits. Rather, they define
-- * the low order two bits of flags, and defined respectively
-- * as 0, 1, and 2. */
-- if (O_RDONLY == (flflags & 3)) {
-- opal_argv_append_nosize(&list, "rdonly");
-- } else if (O_WRONLY == (flflags & 3)) {
-- opal_argv_append_nosize(&list, "wronly");
-- } else {
-- opal_argv_append_nosize(&list, "rdwr");
-- }
-- if (flk && F_UNLCK != fl.l_type) {
-- if (F_WRLCK == fl.l_type) {
-- opal_argv_append_nosize(&list, "wrlock");
-- } else {
-- opal_argv_append_nosize(&list, "rdlock");
-- }
-- }
-- if (NULL != list) {
-- status = opal_argv_join(list, ' ');
-- opal_argv_free(list);
-- list = NULL;
-- if (NULL == result) {
-- asprintf(&result, " %d\t(%s)\t%s\n", i, info, status);
-- } else {
-- asprintf(&r2, "%s %d\t(%s)\t%s\n", result, i, info, status);
-- free(result);
-- result = r2;
-- }
-- free(status);
-- }
-- ++cnt;
-- }
-- asprintf(&r2, "%s: %d open file descriptors after job %d completed\n%s",
-- ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), cnt, ORTE_LOCAL_JOBID(jdata->jobid), result);
-- opal_output(0, "%s", r2);
-- free(result);
-- free(r2);
- }
diff --git a/0003-Disable-address-patch-in-x86.patch b/0003-Disable-address-patch-in-x86.patch
deleted file mode 100644
index 1e48a675915b..000000000000
--- a/0003-Disable-address-patch-in-x86.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/opal/mca/patcher/overwrite/patcher_overwrite_module.c
-+++ b/opal/mca/patcher/overwrite/patcher_overwrite_module.c
-@@ -312,30 +312,7 @@
-
- static int mca_patcher_overwrite_patch_address (uintptr_t sys_addr, uintptr_t hook_addr)
- {
-- mca_patcher_base_patch_t *patch;
-- int rc;
--
-- patch = OBJ_NEW(mca_patcher_base_patch_t);
-- if (OPAL_UNLIKELY(NULL == patch)) {
-- return OPAL_ERR_OUT_OF_RESOURCE;
-- }
--
-- patch->patch_orig = sys_addr;
-- patch->patch_value = hook_addr;
--
-- opal_mutex_lock (&mca_patcher_overwrite_module.patch_list_mutex);
-- do {
-- rc = mca_patcher_overwrite_apply_patch (patch);
-- if (OPAL_SUCCESS != rc) {
-- break;
-- }
--
-- opal_list_append (&mca_patcher_overwrite_module.patch_list, &patch->super);
-- } while (0);
--
-- opal_mutex_unlock (&mca_patcher_overwrite_module.patch_list_mutex);
--
-- return OPAL_SUCCESS;
-+ return OPAL_ERROR;
- }
-
- static int mca_patcher_overwrite_patch_symbol (const char *func_symbol_name, uintptr_t func_new_addr,
diff --git a/0005-Fix-missing-macros-32.patch b/0005-Fix-missing-macros-32.patch
deleted file mode 100644
index ea007e7204eb..000000000000
--- a/0005-Fix-missing-macros-32.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/opal/mca/memory/patcher/memory_patcher_component.c
-+++ b/opal/mca/memory/patcher/memory_patcher_component.c
-@@ -276,14 +276,17 @@
- {
- int result = 0;
-
-- if (advice == MADV_DONTNEED ||
-+ if (
-+#ifdef POSIX_MADV_DONTNEED
-+ advice == POSIX_MADV_DONTNEED ||
-+#endif
- #ifdef MADV_FREE
- advice == MADV_FREE ||
- #endif
- #ifdef MADV_REMOVE
- advice == MADV_REMOVE ||
- #endif
-- advice == POSIX_MADV_DONTNEED)
-+ advice == MADV_DONTNEED)
- {
- opal_mem_hooks_release_hook (start, length, true);
- }
diff --git a/0007-Fix-missing-macros-64.patch b/0007-Fix-missing-macros.patch
index 06749feb4184..06749feb4184 100644
--- a/0007-Fix-missing-macros-64.patch
+++ b/0007-Fix-missing-macros.patch
diff --git a/0008-Force-32-bit-build.patch b/0008-Force-32-bit-build.patch
new file mode 100644
index 000000000000..0662b1b1b230
--- /dev/null
+++ b/0008-Force-32-bit-build.patch
@@ -0,0 +1,17 @@
+--- a/configure
++++ b/configure
+@@ -16780,14 +16780,6 @@
+ printf "%s\n" "#define SIZEOF_VOID_P $ac_cv_sizeof_void_p" >>confdefs.h
+
+
+-if test "$ac_cv_sizeof_void_p" -eq 4
+-then :
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI no longer supports 32 bit builds." >&5
+-printf "%s\n" "$as_me: WARNING: Open MPI no longer supports 32 bit builds." >&2;}
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Please use Open MPI v4.x or earlier if you need 32 bit support." >&5
+-printf "%s\n" "$as_me: WARNING: Please use Open MPI v4.x or earlier if you need 32 bit support." >&2;}
+- as_fn_error $? "Cannot continue" "$LINENO" 5
+-fi
+ # The cast to long int works around a bug in the HP C Compiler
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+ # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
diff --git a/PKGBUILD b/PKGBUILD
index fb398526f533..42f5d90cb8d8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,19 +7,12 @@
_android_arch=x86
pkgname=android-${_android_arch}-openmpi
-
-if [[ "${_android_arch}" == armv7a-eabi || "${_android_arch}" == x86 ]]; then
- pkgver=4.1.6
- is_32_bits=true
-else
- pkgver=5.0.2
-fi
-
-pkgrel=4
+pkgver=5.0.3
+pkgrel=1
arch=('any')
-pkgdesc="High performance message passing library (MPI) (Android, ${_android_arch})"
+pkgdesc="High performance message passing library (MPI) (Android ${_android_arch})"
url='https://www.open-mpi.org'
-license=('BSD-3-Clause AND LicenseRef-MPICH')
+license=('BSD-3-Clause AND LicenseRef- MPICH')
depends=("android-${_android_arch}-hwloc"
"android-${_android_arch}-libevent"
"android-${_android_arch}-libfabric"
@@ -38,101 +31,48 @@ optdepends=("android-${_android_arch}-openssh: for execution on remote hosts via
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/openmpi-$pkgver.tar.bz2"
'0001-Remove-shmctl.patch'
- '0002-Remove-getdtablesize.patch'
- '0003-Disable-address-patch-in-x86.patch'
'0004-Remove-getifaddrs.patch'
- '0005-Fix-missing-macros-32.patch'
'0006-Add-missing-headers.patch'
- '0007-Fix-missing-macros-64.patch')
-
-if [ "${is_32_bits}" == true ]; then
- _src_md5sum='c9b1c974cfc23c77c0fbdb965cd58a1c'
-else
- _src_md5sum='047ea0985b79d30d5a24ee72cbf5f4bf'
-fi
-
-md5sums=(${_src_md5sum}
+ '0007-Fix-missing-macros.patch'
+ '0008-Force-32-bit-build.patch')
+md5sums=('af6896a78969b258da908d424c1c34ca'
'137c5041b5a3a47574b5630b0ff82b4e'
- '34b93930fb47257b3a77e51bd2a13de6'
- 'f4b8f79f3f0cc039d2fcfca113e419e8'
'49fc1b27cf765f847ce5350a0b38d3f4'
- 'dfec77ec53288e16acbbd7c35f12e3c6'
'15e07e34a261129ccc56fe58d115827e'
- '2801669c30f3f834ee56b5b0eeef9206')
+ '2801669c30f3f834ee56b5b0eeef9206'
+ '44d0ecc271eea6fc0722f02c4bd1c001')
prepare() {
cd "${srcdir}/openmpi-$pkgver"
source android-env ${_android_arch}
- export PERL=perl
-
- if [ "${is_32_bits}" == true ]; then
- pushd config
- autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh
- popd
-
- autoreconf -fi || true
- fi
+ patch -Np1 -i ../0008-Force-32-bit-build.patch
if [ "${ANDROID_MINIMUM_PLATFORM}" -lt 26 ]; then
patch -Np1 -i ../0001-Remove-shmctl.patch
fi
- if [ "${is_32_bits}" == true ]; then
- patch -Np1 -i ../0002-Remove-getdtablesize.patch
- patch -Np1 -i ../0005-Fix-missing-macros-32.patch
-
- if [ "${_android_arch}" == x86 ]; then
- patch -Np1 -i ../0003-Disable-address-patch-in-x86.patch
- fi
- else
- patch -Np1 -i ../0006-Add-missing-headers.patch
- patch -Np1 -i ../0007-Fix-missing-macros-64.patch
+ patch -Np1 -i ../0006-Add-missing-headers.patch
+ patch -Np1 -i ../0007-Fix-missing-macros.patch
- if [ "${ANDROID_MINIMUM_PLATFORM}" -lt 24 ]; then
- patch -Np1 -i ../0004-Remove-getifaddrs.patch
- fi
+ if [ "${ANDROID_MINIMUM_PLATFORM}" -lt 24 ]; then
+ patch -Np1 -i ../0004-Remove-getifaddrs.patch
fi
- # workaround for https://github.com/open-mpi/ompi/issues/12257
- sed -i 's|WRAPPER__FCFLAGS|WRAPPER_FCFLAGS|g' configure
- sed -i 's|WRAPPER_EXTRA_FCFLAGS|WRAPPER_FCFLAGS|g' configure
sed -i "s|\"-I${ANDROID_PREFIX_INCLUDE}\",||" opal/tools/wrappers/opal_wrapper.c
malloc_fname=opal_malloc
mv -f opal/util/malloc.h "opal/util/${malloc_fname}.h"
- if [ "${is_32_bits}" == true ]; then
- sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/runtime/opal_cr.c
- sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" orte/mca/ess/env/ess_env_module.c
- sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" orte/mca/ess/hnp/ess_hnp_module.c
- else
- sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/runtime/opal_init_core.c
- fi
-
+ sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/runtime/opal_init_core.c
sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/include/opal_config_bottom.h
sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/runtime/opal_finalize.c
sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/runtime/opal_init.c
sed -i "s|opal/util/malloc.h|opal/util/${malloc_fname}.h|g" opal/util/malloc.c
-
- if [ "${is_32_bits}" == true ]; then
- sed -i "s| malloc.h | ${malloc_fname}.h |g" configure
- sed -i "s| malloc.h | ${malloc_fname}.h |g" configure.ac
- fi
-
sed -i "s| malloc.h | ${malloc_fname}.h |g" opal/util/Makefile.am
sed -i "s| malloc.h | ${malloc_fname}.h |g" opal/util/Makefile.in
- sed -i "s|rindex|strrchr|g" oshmem/mca/memheap/base/memheap_base_static.c
-
- if [ "${is_32_bits}" == true ]; then
- sed -i "s|rindex|strrchr|g" orte/mca/plm/rsh/plm_rsh_module.c
- fi
-
- if [ "${is_32_bits}" == true ]; then
- sed -i 's|bcmp|memcmp|g' ompi/mca/topo/treematch/treematch/tm_malloc.c
- else
- sed -i 's|bcmp|memcmp|g' 3rd-party/treematch/tm_malloc.c
- fi
+ sed -i 's|bcmp|memcmp|g' 3rd-party/treematch/tm_malloc.c
+ sed -i 's|LDFLAGS -no-undefined|LDFLAGS|g' configure
}
build() {
@@ -170,22 +110,26 @@ build() {
# TODO: remove ac_cv_func_sem_open=no when there is a glibc release fixing https://sourceware.org/bugzilla/show_bug.cgi?id=30789
ac_cv_func_sem_open=no ./configure \
- --host=${host} \
- --prefix=${ANDROID_PREFIX} \
- --libdir=${ANDROID_PREFIX_LIB} \
- --includedir=${ANDROID_PREFIX_INCLUDE} \
+ --host="${host}" \
+ --prefix="${ANDROID_PREFIX}" \
+ --libdir="${ANDROID_PREFIX_LIB}" \
+ --includedir="${ANDROID_PREFIX_INCLUDE}" \
--sysconfdir="${ANDROID_PREFIX_ETC}/openmpi" \
--enable-shared \
--enable-static \
--enable-builtin-atomics \
--enable-pretty-print-stacktrace \
+ --enable-sphinx=no \
+ --enable-binaries=no \
+ --enable-pmix-binaries=no \
--disable-mpi-fortran \
--disable-oshmem-fortran \
- --disable-sphinx \
+ --with-tests-examples=no \
--with-hwloc=external \
--with-libevent=external \
--with-pmix=external \
--with-prrte=external
+ sed -i 's| test docs||g' Makefile
make V=1 $MAKEFLAGS
}
@@ -193,11 +137,10 @@ package() {
cd "${srcdir}/openmpi-$pkgver"
source android-env ${_android_arch}
- make DESTDIR="$pkgdir" install
- rm -rf "$pkgdir/usr"
- rm -rf "$pkgdir/${ANDROID_PREFIX_BIN}"
- rm -rf "$pkgdir/${ANDROID_PREFIX_SHARE}"
- ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}"/${ANDROID_PREFIX_LIB}/*.so
- ${ANDROID_STRIP} -g "$pkgdir"/${ANDROID_PREFIX_LIB}/*.a
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}/${ANDROID_PREFIX_BIN}"
+ rm -rf "${pkgdir}/${ANDROID_PREFIX_SHARE}"
+ ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so
+ ${ANDROID_STRIP} -g "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.a
rm -f "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so.*
}