From ec7258f3f4ea4442cd1f8c78a066a062a4d0cbd0 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Tue, 7 Feb 2023 23:09:38 +0100 Subject: [PATCH] package/openmpi: bump to version 4.1.4 Notable changes in this commit: - change from v4.0.x to v4.1.x "current" version series, - move the sha256 hash out of the "Locally computed" section, as the value comes from the download page, - the LICENSE file hash changed, as the file was updated (copyright years updated and new contributors added), - the IME (Infinite Memory Engine), introduced in v4.1.x, is disabled to workaround a failure when cross-compiled, - the package now requires a toolchain with atomic support, and needs to link against libatomic when needed. For change log since v4.0.0, see: - https://github.com/open-mpi/ompi/blob/v4.1.4/NEWS#L61 Signed-off-by: Julien Olivain Signed-off-by: Thomas Petazzoni --- package/openmpi/Config.in | 2 ++ package/openmpi/openmpi.hash | 10 +++++----- package/openmpi/openmpi.mk | 17 ++++++++++++++--- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/package/openmpi/Config.in b/package/openmpi/Config.in index 4413c55f9c..e64eb81c3e 100644 --- a/package/openmpi/Config.in +++ b/package/openmpi/Config.in @@ -1,5 +1,6 @@ comment "openmpi needs a toolchain w/ dynamic library, NPTL, wchar, C++" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_sparc depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP @@ -8,6 +9,7 @@ config BR2_PACKAGE_OPENMPI bool "openmpi" depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h diff --git a/package/openmpi/openmpi.hash b/package/openmpi/openmpi.hash index a399adc758..745ed7c580 100644 --- a/package/openmpi/openmpi.hash +++ b/package/openmpi/openmpi.hash @@ -1,6 +1,6 @@ -# From: https://www.open-mpi.org/software/ompi/v4.0/ -md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 -sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 +# From: https://www.open-mpi.org/software/ompi/v4.1/ +md5 f057e12aabaf7dd5a6a658180fca404e openmpi-4.1.4.tar.bz2 +sha1 357c61a8e06e103d987c0e4a054e8780a034c8b1 openmpi-4.1.4.tar.bz2 +sha256 92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d openmpi-4.1.4.tar.bz2 # Locally computed -sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 -sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE +sha256 2db71de9577ebfe15c186605844c470dcecd3717f4ef0118c9440d801c0f58f8 LICENSE diff --git a/package/openmpi/openmpi.mk b/package/openmpi/openmpi.mk index 8bdc3fa188..f14b55ced5 100644 --- a/package/openmpi/openmpi.mk +++ b/package/openmpi/openmpi.mk @@ -4,14 +4,21 @@ # ################################################################################ -OPENMPI_VERSION_MAJOR = 4.0 -OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).0 +OPENMPI_VERSION_MAJOR = 4.1 +OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).4 OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 OPENMPI_LICENSE = BSD-3-Clause OPENMPI_LICENSE_FILES = LICENSE OPENMPI_INSTALL_STAGING = YES +# The macro searching for IME (Infinite Memory Engine) filesystem +# brings "-I/usr/local/include" in the CPPFLAGS, even if not +# found. This makes the configuration fail. See: +# https://github.com/open-mpi/ompi/blob/v4.1.4/config/ompi_check_ime.m4#L35 +# Disable explicitly to avoid the issue. +OPENMPI_CONF_OPTS = --without-ime + # Enabling Fortran support requires pre-seeding the configure script # with various values that cannot be guessed, so we provide cache # files for various architectures. @@ -43,6 +50,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) OPENMPI_CFLAGS += -O0 endif -OPENMPI_CONF_ENV = CFLAGS="$(OPENMPI_CFLAGS)" +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +OPENMPI_LIBS += -latomic +endif + +OPENMPI_CONF_ENV = CFLAGS="$(OPENMPI_CFLAGS)" LIBS="$(OPENMPI_LIBS)" $(eval $(autotools-package))