Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/openmpi.git#8fc779b59b264ddd141f811bbb22d2e83ee3e517
This commit is contained in:
DistroBaker 2021-01-29 07:39:46 +00:00
parent a954425021
commit 51ea11f059
5 changed files with 1797 additions and 72 deletions

1
.gitignore vendored
View File

@ -53,3 +53,4 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-4.0.4rc1.tar.bz2
/openmpi-4.0.4.tar.bz2
/openmpi-4.0.5.tar.bz2
/openmpi-4.1.0.tar.bz2

1682
8322.patch Normal file

File diff suppressed because it is too large Load Diff

25
8348.patch Normal file
View File

@ -0,0 +1,25 @@
From 838568da9fce85b4555b0e0cbd899c8e8ef75696 Mon Sep 17 00:00:00 2001
From: George Bosilca <bosilca@icl.utk.edu>
Date: Wed, 6 Jan 2021 13:30:40 -0500
Subject: [PATCH] A started generalized request should be marked as pending.
Fixes #8340
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
(cherry picked from commit 434a2515f8aab11f505b2fca0b3d8cc41e24cef2)
---
ompi/request/grequest.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/ompi/request/grequest.c b/ompi/request/grequest.c
index c895b4232b6..02affd642aa 100644
--- a/ompi/request/grequest.c
+++ b/ompi/request/grequest.c
@@ -163,6 +163,7 @@ int ompi_grequest_start(
greq->greq_free.c_free = gfree_fn;
greq->greq_cancel.c_cancel = gcancel_fn;
greq->greq_base.req_status = ompi_status_empty;
+ greq->greq_base.req_complete = REQUEST_PENDING;
*request = &greq->greq_base;
return OMPI_SUCCESS;

View File

@ -1,17 +1,3 @@
%global _hardened_build 1
# We only compile with gcc, but other people may want other compilers.
# Set the compiler here.
%global opt_cc gcc
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
# so uncomment and define to use
#global opt_cflags
%global opt_cxx g++
#global opt_cxxflags
%global opt_f77 gfortran
#global opt_fflags
%global opt_fc gfortran
#global opt_fcflags
# Optional name suffix to use...we leave it off when compiling with gcc, but
# for other compiled versions to install side by side, it will need a
# suffix in order to keep the names from conflicting.
@ -39,70 +25,85 @@
%bcond_without rdma
%endif
Name: openmpi%{?_cc_name_suffix}
Version: 4.0.5
Release: 2%{?dist}
Summary: Open Message Passing Interface
License: BSD and MIT and Romio
URL: http://www.open-mpi.org/
# Run autogen - needed for some patches
# For Patch0
%bcond_without autogen
Name: openmpi%{?_cc_name_suffix}
Version: 4.1.0
Release: 5%{?dist}
Summary: Open Message Passing Interface
License: BSD and MIT and Romio
URL: http://www.open-mpi.org/
# We can't use %%{name} here because of _cc_name_suffix
Source0: https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in
Source2: openmpi.pth.py2
Source3: openmpi.pth.py3
Source4: macros.openmpi
Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in
Source2: openmpi.pth.py2
Source3: openmpi.pth.py3
Source4: macros.openmpi
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: valgrind-devel
# Fix AVX library linkage
Patch0: https://patch-diff.githubusercontent.com/raw/open-mpi/ompi/pull/8322.patch
# Fix generalized requests (mpi4py test failure)
Patch1: https://patch-diff.githubusercontent.com/raw/open-mpi/ompi/pull/8348.patch
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: make
%if %{with autogen}
BuildRequires: libtool
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(File::Find)
%endif
BuildRequires: valgrind-devel
%if %{with rdma}
BuildRequires: opensm-devel > 3.3.0
BuildRequires: rdma-core-devel
BuildRequires: opensm-devel > 3.3.0
BuildRequires: rdma-core-devel
%endif
# Doesn't compile:
# vt_dyn.cc:958:28: error: 'class BPatch_basicBlockLoop' has no member named 'getLoopHead'
# loop->getLoopHead()->getStartAddress(), loop_stmts );
#BuildRequires: dyninst-devel
BuildRequires: hwloc-devel
#BuildRequires: dyninst-devel
BuildRequires: hwloc-devel
# So configure can find lstopo
BuildRequires: hwloc-gui
BuildRequires: java-devel
BuildRequires: hwloc-gui
BuildRequires: java-devel
# Old libevent causes issues
%if !0%{?el7}
BuildRequires: libevent-devel
BuildRequires: libevent-devel
%endif
BuildRequires: libfabric-devel
BuildRequires: libfabric-devel
%ifnarch s390 s390x
BuildRequires: papi-devel
BuildRequires: papi-devel
%endif
BuildRequires: orangefs-devel
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Getopt::Long)
BuildRequires: pmix-devel
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: orangefs-devel
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Getopt::Long)
BuildRequires: pmix-devel
BuildRequires: python%{python3_pkgversion}-devel
%ifarch x86_64
BuildRequires: infinipath-psm-devel
BuildRequires: libpsm2-devel
BuildRequires: infinipath-psm-devel
BuildRequires: libpsm2-devel
%endif
%if %{with ucx}
BuildRequires: ucx-devel
BuildRequires: ucx-devel
%endif
BuildRequires: zlib-devel
BuildRequires: zlib-devel
%if !0%{?el7}
BuildRequires: rpm-mpi-hooks
BuildRequires: rpm-mpi-hooks
%endif
Provides: mpi
Provides: mpi
%if 0%{?rhel}
# Need this for /etc/profile.d/modules.sh
Requires: environment-modules
Requires: environment-modules
%endif
Requires: environment(modules)
Requires: environment(modules)
# openmpi currently requires ssh to run
# https://svn.open-mpi.org/trac/ompi/ticket/4228
Requires: openssh-clients
Requires: openssh-clients
# Private openmpi libraries
%global __provides_exclude_from %{_libdir}/openmpi/lib/(lib(mca|ompi|open-(pal|rte|trace))|openmpi/).*.so
@ -133,17 +134,17 @@ Requires: (python(abi) = %{python3_version} if python3)
Contains development headers and libraries for openmpi.
%package java
Summary: Java library
Requires: %{name} = %{version}-%{release}
Requires: java-headless
Summary: Java library
Requires: %{name} = %{version}-%{release}
Requires: java-headless
%description java
Java library.
%package java-devel
Summary: Java development files for openmpi
Requires: %{name}-java = %{version}-%{release}
Requires: java-devel
Summary: Java development files for openmpi
Requires: %{name}-java = %{version}-%{release}
Requires: java-devel
%description java-devel
Contains development wrapper for compiling Java with openmpi.
@ -154,19 +155,19 @@ Contains development wrapper for compiling Java with openmpi.
%if %{with python2}
%package -n python2-openmpi
Summary: OpenMPI support for Python 2
BuildRequires: python2-devel
Requires: %{name} = %{version}-%{release}
Requires: python(abi) = %{python2_version}
Summary: OpenMPI support for Python 2
BuildRequires: python2-devel
Requires: %{name} = %{version}-%{release}
Requires: python(abi) = %{python2_version}
%description -n python2-openmpi
OpenMPI support for Python 2.
%endif
%package -n python%{python3_pkgversion}-openmpi
Summary: OpenMPI support for Python 3
Requires: %{name} = %{version}-%{release}
Requires: python(abi) = %{python3_version}
Summary: OpenMPI support for Python 3
Requires: %{name} = %{version}-%{release}
Requires: python(abi) = %{python3_version}
%description -n python%{python3_pkgversion}-openmpi
OpenMPI support for Python 3.
@ -174,8 +175,13 @@ OpenMPI support for Python 3.
%prep
%autosetup -p1
%if %{with autogen}
./autogen.pl --force
%endif
%build
%set_build_flags
./configure --prefix=%{_libdir}/%{name} \
--mandir=%{_mandir}/%{namearch} \
--includedir=%{_includedir}/%{namearch} \
@ -193,12 +199,6 @@ OpenMPI support for Python 3.
--with-libevent=external \
--with-pmix=external \
%endif
CC=%{opt_cc} CXX=%{opt_cxx} \
LDFLAGS='%{__global_ldflags}' \
CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \
CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}"
# --with-contrib-vt-flags='CXXFLAGS="-I%{_includedir}/dyninst -L%{_libdir}/dyninst"' \
%make_build V=1
@ -281,6 +281,7 @@ make check
%{_libdir}/%{name}/bin/shmemrun
%endif
%{_libdir}/%{name}/lib/*.so.40*
%{_libdir}/%{name}/lib/libmca_common_ofi.so.10*
%{_libdir}/%{name}/lib/libmca*.so.41*
%{_libdir}/%{name}/lib/libmca*.so.50*
%if 0%{?el7}
@ -362,6 +363,22 @@ make check
%changelog
* Thu Jan 28 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-5
- Add upstream patch for generalized requests
* Thu Jan 28 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-4
- Add upstream patch to fix AVX library linkage
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 24 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-2
- Use set_build_flags macro
- Drop old opt_ macros
* Sun Jan 24 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-1
- Update to 4.1.0
* Wed Sep 23 2020 Orion Poplawski <orion@nwra.com> - 4.0.5-2
- Rebuild for libevent 2.1.12

View File

@ -1 +1 @@
SHA512 (openmpi-4.0.5.tar.bz2) = b7a1a5ccfc0eaa0f0504ff770b550480f7ae6727fa891e3310d9340a0d844a2ceddf62c2e59efd047ab9416b24c829919bbccd29606ca0e0d7a0569dad800011
SHA512 (openmpi-4.1.0.tar.bz2) = eaf086ab4929ce5a9a3e867c8315bf802ff4dc75d3f05d740e22dfd97803a4559212dacbe06920d42ac6644f46057eb6980cccf5a8b0a7df9c5bdf5bffc0b3a6