public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Eli Schwartz" <eschwartz@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/
Date: Fri, 12 Jul 2024 05:55:27 +0000 (UTC)	[thread overview]
Message-ID: <1720763655.496a4f0ce86f43da3fe77ffd6c9bef2e41cf3852.eschwartz@gentoo> (raw)

commit:     496a4f0ce86f43da3fe77ffd6c9bef2e41cf3852
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Mon Jun 10 04:05:03 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Jul 12 05:54:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=496a4f0c

sys-cluster/openmpi: add 5.0.3

A bunch of upstream changes occurred. In particular:

- openmpi drops ALL support for 32-bit, and errors out in ./configure if
  you try. This follows pmix. Rip out all the multilib-minimal
  scaffolding.

- libompitrace "was incomplete and unmaintained" and is now removed from
  the sources

- upstream now defaults to --disable-dlopen, and configuring with
  libltdl enabled externally returns errors saying a non libltdl header
  doesn't exist. Unclear if it actually supports this

- a couple dependencies can now be configured --with-*=external instead
  of passing paths

- libibverbs handling is gone upstream and no longer makes sense to
  configure via USE flags (or at all):
  https://github.com/open-mpi/ompi/commit/59c8ab6da4276ff398453a54910c6c0fb67a153c

Delayed:
- heterogeneous was broken in older versions, and its USE flag is
  supposed to be restored. But the upstream docs still suggest it is
  broken.

Independent of upstream rework of pmix, we take the opportunity of a
version bump to build against the system pmix, resolving a longstanding
bug due to openmpi publicly shipping its own pmix installation that
stomps all over the global system namespace. Temporarily drop keywords
which the pmix package lacks.

Bug: https://bugs.gentoo.org/828123
Closes: https://bugs.gentoo.org/652432
Closes: https://bugs.gentoo.org/927828
Closes: https://bugs.gentoo.org/930362
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 sys-cluster/openmpi/Manifest             |   1 +
 sys-cluster/openmpi/openmpi-5.0.3.ebuild | 141 +++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+)

diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
index aad192529f00..687b6214d0a6 100644
--- a/sys-cluster/openmpi/Manifest
+++ b/sys-cluster/openmpi/Manifest
@@ -1,3 +1,4 @@
 DIST openmpi-4.1.4.tar.bz2 10042839 BLAKE2B b020e3530ae5dde7b144e7c33b1a3f26f622526a4b48a97a0956fc6f49bbf9dfd5be9ebeeaf3bdc5168a307507408ba5dd8e2a537148821e1d476678177dc5d6 SHA512 c70a92c9b16b8c76a871183f9b180d60861186e64140da897d206d53bc06213f31ea93b31734645f580f4bf28dda5605d85dbce2417e4596955384d961bed653
 DIST openmpi-4.1.5.tar.bz2 10045426 BLAKE2B 135a8373ed6173b7a94def18e3b964c6b6050c909382e0dbb1898a6d261ae428931358121ef6d325d303f4f510017a94970f7c66b280a5fc460365821f36dece SHA512 7a2188684ed7542fe42e1717ae72cb859b4f3d6f722c9d3ba04bfed6c2178b3e7da3a536629d312c23571fed4d9b2ca5e20e85898ae5144e9332bd898e6e1cc6
 DIST openmpi-4.1.6.tar.bz2 10017002 BLAKE2B 4f119e1ed9b8787f0f860295ab1721fe2fd5300b8e182230a9eba3a864680b02bbd30618cc6d798a693a121626fc0ad5f447144d9ba91becb734f1a530d7a23a SHA512 0ef3240f9c436fb19b67e836cac376eafeb7825d12de3387dad04329dee9f182799d17d785ea23eba763810f479015bb5230593c28950b616b2f0aa1c0a81e71
+DIST openmpi-5.0.3.tar.bz2 29761888 BLAKE2B a084813f3dada12bbe77dcc6ef0ec0454980779f97ccb46f37f3d7df3bf7299e6484ec3427c2ca784e70876f62dc061a13cb7f08348e3d649e27f2bece9a09ac SHA512 60e8f6dcd6b1531ce8164e02f40be9a364ab484166a2a7b13bdff115a508f0596e97ad0a4204a47799ae608ba484a7ba9503042bddffe675f09ce22071b0b4a9

diff --git a/sys-cluster/openmpi/openmpi-5.0.3.ebuild b/sys-cluster/openmpi/openmpi-5.0.3.ebuild
new file mode 100644
index 000000000000..f22be0582eaa
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-5.0.3.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+inherit cuda flag-o-matic fortran-2 libtool
+
+MY_P=${P/-mpi}
+
+IUSE_OPENMPI_FABRICS="
+	openmpi_fabrics_ofed
+	openmpi_fabrics_knem"
+
+IUSE_OPENMPI_RM="
+	openmpi_rm_pbs
+	openmpi_rm_slurm"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="https://www.open-mpi.org"
+SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 -arm -ppc -x86 ~amd64-linux"
+IUSE="cma cuda cxx fortran ipv6 peruse romio valgrind
+	${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM}"
+
+REQUIRED_USE="
+	openmpi_rm_slurm? ( !openmpi_rm_pbs )
+	openmpi_rm_pbs? ( !openmpi_rm_slurm )
+"
+
+RDEPEND="
+	!sys-cluster/mpich
+	!sys-cluster/mpich2
+	!sys-cluster/nullmpi
+	>=dev-libs/libevent-2.0.22:=[threads(+)]
+	>=sys-apps/hwloc-2.0.2:=
+	sys-cluster/pmix:=
+	>=sys-libs/zlib-1.2.8-r1
+	cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= )
+	openmpi_fabrics_ofed? ( sys-cluster/rdma-core )
+	openmpi_fabrics_knem? ( sys-cluster/knem )
+	openmpi_rm_pbs? ( sys-cluster/torque )
+	openmpi_rm_slurm? ( sys-cluster/slurm )
+"
+DEPEND="${RDEPEND}
+	valgrind? ( dev-debug/valgrind )"
+
+pkg_setup() {
+	fortran-2_pkg_setup
+
+	elog
+	elog "OpenMPI has an overwhelming count of configuration options."
+	elog "Don't forget the EXTRA_ECONF environment variable can let you"
+	elog "specify configure options if you find them necessary."
+	elog
+}
+
+src_prepare() {
+	default
+	elibtoolize
+
+	# Avoid test which ends up looking at system mounts
+	echo "int main() { return 0; }" > test/util/opal_path_nfs.c || die
+
+	# Necessary for scalibility, see
+	# http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+	echo 'oob_tcp_listen_mode = listen_thread' \
+		>> opal/etc/openmpi-mca-params.conf || die
+}
+
+src_configure() {
+	# -Werror=lto-type-mismatch, -Werror=strict-aliasing
+	# The former even prevents successfully running ./configure, but both appear
+	# at `make` time as well.
+	# https://bugs.gentoo.org/913040
+	# https://github.com/open-mpi/ompi/issues/12674
+	# https://github.com/open-mpi/ompi/issues/12675
+	append-flags -fno-strict-aliasing
+	filter-lto
+
+	local myconf=(
+		--disable-mpi-java
+		# configure takes a looooong time, but upstream currently force
+		# constriants on caching:
+		# https://github.com/open-mpi/ompi/blob/9eec56222a5c98d13790c9ee74877f1562ac27e8/config/opal_config_subdir.m4#L118
+		# so no --cache-dir for now.
+		--enable-mpi-fortran=$(usex fortran all no)
+		--enable-orterun-prefix-by-default
+		--enable-pretty-print-stacktrace
+
+		--sysconfdir="${EPREFIX}/etc/${PN}"
+
+		--with-hwloc=external
+		--with-libevent=external
+
+		# Oiriginally supposed to be re-enabled for 5.0!
+		# See https://github.com/open-mpi/ompi/issues/9697#issuecomment-1003746357
+		# and https://bugs.gentoo.org/828123#c14
+		#
+		# However as of 5.0.3 the docs still say:
+		#
+		#   As such, supporting data heterogeneity is a feature that has fallen
+		#   into disrepair and is currently known to be broken in this release
+		#   of Open MPI.
+		--disable-heterogeneous
+
+		$(use_enable cxx mpi-cxx)
+		$(use_enable ipv6)
+		$(use_enable peruse)
+		$(use_enable romio io-romio)
+
+		$(use_with cma)
+
+		$(use_with cuda cuda "${EPREFIX}"/opt/cuda)
+		$(use_with valgrind)
+		$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr)
+		$(use_with openmpi_rm_pbs tm)
+		$(use_with openmpi_rm_slurm slurm)
+	)
+
+	CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
+}
+
+src_compile() {
+	emake V=1
+}
+
+src_test() {
+	emake -C test check
+}
+
+src_install() {
+	default
+
+	# Remove la files, no static libs are installed and we have pkg-config
+	find "${ED}" -name '*.la' -delete || die
+}


             reply	other threads:[~2024-07-12  5:55 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-12  5:55 Eli Schwartz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-24  6:41 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/ Michał Górny
2024-08-23 23:37 Jakov Smolić
2024-08-23 17:32 Eli Schwartz
2024-08-23 17:32 Eli Schwartz
2024-08-10 18:21 Arthur Zamarin
2024-07-17  5:43 Eli Schwartz
2024-07-17  5:43 Eli Schwartz
2024-07-15 11:14 Miroslav Šulc
2024-07-15 11:14 Miroslav Šulc
2024-07-12  5:55 Eli Schwartz
2024-07-12  5:55 Eli Schwartz
2024-06-14  6:45 Sam James
2024-06-14  6:45 Sam James
2024-02-22 20:33 Arthur Zamarin
2024-02-22 20:33 Arthur Zamarin
2024-02-22 20:33 Arthur Zamarin
2024-02-21  2:29 Sam James
2024-02-02  1:02 Sam James
2024-01-24 20:34 Arthur Zamarin
2024-01-24 19:21 Michał Górny
2023-12-19 11:27 Sam James
2023-09-10 20:33 David Seifert
2023-06-03  9:50 WANG Xuerui
2023-05-16  3:39 Sam James
2023-02-14  0:29 Mike Gilbert
2022-12-26 20:30 David Seifert
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 14:33 Arthur Zamarin
2022-12-06 14:33 Arthur Zamarin
2022-10-17  3:17 Sam James
2022-06-04  1:17 Sam James
2022-03-07  4:29 Sam James
2022-02-02  6:21 Sam James
2022-01-29  0:44 Sam James
2022-01-29  0:02 Sam James
2022-01-29  0:02 Sam James
2022-01-28 19:20 Arthur Zamarin
2022-01-28 19:20 Arthur Zamarin
2022-01-28 19:16 Arthur Zamarin
2022-01-16 18:26 David Seifert
2022-01-16  0:00 David Seifert
2021-12-01  5:48 Arthur Zamarin
2021-12-01  5:48 Arthur Zamarin
2021-11-25  6:47 Sam James
2021-11-25  6:47 Sam James
2021-10-29 22:44 Sam James
2021-10-26 17:08 Jakov Smolić
2021-10-20  0:11 Sam James
2021-10-16  6:29 Sam James
2021-10-16  2:12 Sam James
2021-10-15  6:00 Agostino Sarubbo
2021-10-14 13:39 Agostino Sarubbo
2021-10-13 20:35 Sam James
2021-08-25 12:43 Pacho Ramos
2021-08-25 10:16 Pacho Ramos
2021-07-14 22:45 Marek Szuba
2021-07-05 13:25 Marek Szuba
2021-06-15 13:03 Joonas Niilola
2021-06-15 13:03 Joonas Niilola
2021-05-09 22:28 Pacho Ramos
2021-04-03 15:44 Sam James
2021-02-28 11:27 罗百科
2021-01-05 15:17 Mikle Kolyada
2020-07-30  8:29 Mikle Kolyada
2020-05-08  8:25 Alexys Jacob
2020-03-24  9:51 Mikle Kolyada
2020-03-22 14:55 Mikle Kolyada
2020-03-22 14:52 Mikle Kolyada
2020-03-22 14:43 Mikle Kolyada
2020-03-22 14:34 Mikle Kolyada
2020-03-21  9:38 Mikle Kolyada
2020-03-21  9:38 Mikle Kolyada
2020-02-24  9:22 Mikle Kolyada
2020-02-23  9:35 Mikle Kolyada
2020-02-23  9:34 Mikle Kolyada
2020-02-23  9:25 Mikle Kolyada
2020-01-01 16:26 Mikle Kolyada
2019-11-10 13:26 Mikle Kolyada
2019-10-26 21:04 Mikle Kolyada
2019-10-10 21:19 Mikle Kolyada
2019-09-04 14:21 Justin Bronder
2019-08-29 21:05 Justin Bronder
2019-06-10 22:15 Justin Bronder
2019-06-10 22:15 Justin Bronder
2019-04-25 16:48 Justin Bronder
2019-04-22 15:06 Justin Bronder
2019-04-21 11:33 Alexey Shvetsov
2019-02-26  3:20 Justin Bronder
2018-11-16 17:01 Justin Bronder
2018-10-29 22:25 Justin Bronder
2018-09-11 14:29 Justin Bronder
2018-08-27 15:13 Justin Bronder
2018-08-21 21:22 Justin Bronder
2018-08-13 15:36 Justin Bronder
2018-07-02 17:05 Justin Bronder
2018-06-05 17:32 Justin Bronder
2018-05-24 14:53 Justin Bronder
2018-05-24 14:53 Justin Bronder
2018-05-22 22:40 Matthias Maier
2018-05-22  2:17 Christoph Junghans
2018-04-02 15:00 Justin Bronder
2018-03-19 14:20 Justin Bronder
2018-03-01 15:09 Michał Górny
2018-01-27  8:23 Michał Górny
2017-11-26 21:25 Justin Bronder
2017-11-26 20:05 Justin Bronder
2017-09-22 17:07 Justin Bronder
2017-06-01 22:09 Justin Bronder
2017-06-01 22:09 Justin Bronder
2017-05-10 20:47 Justin Bronder
2017-04-02 23:41 Matt Turner
2017-03-23  0:48 Justin Bronder
2017-03-22 20:15 Justin Bronder
2017-03-22 19:58 Justin Bronder
2017-03-17  6:36 Matt Turner
2017-03-17  6:36 Matt Turner
2017-03-10 10:59 Agostino Sarubbo
2017-03-10  9:09 Agostino Sarubbo
2017-02-22 22:54 Michael Weber
2017-02-17 22:09 Justin Bronder
2017-02-01 14:29 Justin Bronder
2016-11-09 15:59 Justin Bronder
2016-09-27 11:04 Tobias Klausmann
2016-09-12  1:32 Christoph Junghans
2016-09-08 20:20 Christoph Junghans
2016-09-06  0:18 Christoph Junghans
2016-08-29 20:58 Christoph Junghans
2016-08-29 20:58 Christoph Junghans
2016-08-11 19:06 David Seifert
2016-08-11 17:18 David Seifert
2016-08-11 14:27 Christoph Junghans
2016-08-11 13:31 Justin Bronder
2016-08-11  7:55 David Seifert
2016-06-29 22:33 Alexey Shvetsov
2016-02-11  2:04 Justin Bronder
2015-09-23 21:51 Justin Bronder
2015-08-24  5:21 Jeroen Roovers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1720763655.496a4f0ce86f43da3fe77ffd6c9bef2e41cf3852.eschwartz@gentoo \
    --to=eschwartz@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox