|
|
|
@ -32,18 +32,46 @@
|
|
|
|
|
%bcond_with java
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{defined rhel}
|
|
|
|
|
%bcond_with orangefs
|
|
|
|
|
%bcond_with sphinx
|
|
|
|
|
%else
|
|
|
|
|
%bcond_without orangefs
|
|
|
|
|
%bcond_without sphinx
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%if 0%{?rhel} >= 8
|
|
|
|
|
%bcond_with psm
|
|
|
|
|
%else
|
|
|
|
|
%bcond_without psm
|
|
|
|
|
%endif
|
|
|
|
|
%if 0%{?rhel} >= 10
|
|
|
|
|
%bcond_with psm2
|
|
|
|
|
%else
|
|
|
|
|
%bcond_without psm2
|
|
|
|
|
%endif
|
|
|
|
|
%else
|
|
|
|
|
%bcond_with psm
|
|
|
|
|
%bcond_with psm2
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Some RCs require unreleased pmix version - at least let us test builds
|
|
|
|
|
%bcond_without pmix
|
|
|
|
|
|
|
|
|
|
# Run autogen - needed for some patches
|
|
|
|
|
%bcond_with autogen
|
|
|
|
|
|
|
|
|
|
Name: openmpi%{?_cc_name_suffix}
|
|
|
|
|
Version: 4.1.5
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Version: 5.0.0
|
|
|
|
|
Release: 2.0.riscv64%{?dist}
|
|
|
|
|
Summary: Open Message Passing Interface
|
|
|
|
|
License: BSD and MIT and Romio
|
|
|
|
|
URL: http://www.open-mpi.org/
|
|
|
|
|
ExcludeArch: %{ix86}
|
|
|
|
|
|
|
|
|
|
# We can't use %%{name} here because of _cc_name_suffix
|
|
|
|
|
Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2
|
|
|
|
|
Source0: https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-%{version}.tar.bz2
|
|
|
|
|
Source1: openmpi.module.in
|
|
|
|
|
Source2: openmpi.pth.py2
|
|
|
|
|
Source3: openmpi.pth.py3
|
|
|
|
@ -57,7 +85,9 @@ BuildRequires: libtool
|
|
|
|
|
BuildRequires: perl(Data::Dumper)
|
|
|
|
|
BuildRequires: perl(File::Find)
|
|
|
|
|
%endif
|
|
|
|
|
%ifarch %{valgrind_arches}
|
|
|
|
|
BuildRequires: valgrind-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with rdma}
|
|
|
|
|
BuildRequires: opensm-devel > 3.3.0
|
|
|
|
|
BuildRequires: rdma-core-devel
|
|
|
|
@ -80,17 +110,26 @@ Obsoletes: %{name}-java-devel < %{version}-%{release}
|
|
|
|
|
BuildRequires: libevent-devel
|
|
|
|
|
%endif
|
|
|
|
|
BuildRequires: libfabric-devel
|
|
|
|
|
%ifnarch s390 s390x
|
|
|
|
|
%ifnarch s390x
|
|
|
|
|
BuildRequires: papi-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with orangefs}
|
|
|
|
|
BuildRequires: orangefs-devel
|
|
|
|
|
%endif
|
|
|
|
|
BuildRequires: perl-generators
|
|
|
|
|
BuildRequires: perl-interpreter
|
|
|
|
|
BuildRequires: perl(Getopt::Long)
|
|
|
|
|
BuildRequires: pmix-devel
|
|
|
|
|
%if %{with pmix}
|
|
|
|
|
BuildRequires: pmix-devel >= 4.2.7
|
|
|
|
|
%endif
|
|
|
|
|
# For configure to find /usr/bin/prte
|
|
|
|
|
BuildRequires: prrte
|
|
|
|
|
BuildRequires: prrte-devel
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%if %{with psm}
|
|
|
|
|
BuildRequires: infinipath-psm-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with psm2}
|
|
|
|
|
BuildRequires: libpsm2-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with ucx}
|
|
|
|
@ -100,6 +139,12 @@ BuildRequires: zlib-devel
|
|
|
|
|
%if !0%{?el7}
|
|
|
|
|
BuildRequires: rpm-mpi-hooks
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with sphinx}
|
|
|
|
|
# For docs
|
|
|
|
|
BuildRequires: /usr/bin/sphinx-build
|
|
|
|
|
BuildRequires: python3-recommonmark
|
|
|
|
|
BuildRequires: python3-sphinx_rtd_theme
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Provides: mpi
|
|
|
|
|
%if 0%{?rhel} == 7
|
|
|
|
@ -107,6 +152,7 @@ Provides: mpi
|
|
|
|
|
Requires: environment-modules
|
|
|
|
|
%endif
|
|
|
|
|
Requires: environment(modules)
|
|
|
|
|
Requires: prrte
|
|
|
|
|
# openmpi currently requires ssh to run
|
|
|
|
|
# https://svn.open-mpi.org/trac/ompi/ticket/4228
|
|
|
|
|
Requires: openssh-clients
|
|
|
|
@ -139,6 +185,13 @@ Requires: (python(abi) = %{python3_version} if python3)
|
|
|
|
|
%description devel
|
|
|
|
|
Contains development headers and libraries for openmpi.
|
|
|
|
|
|
|
|
|
|
%package doc
|
|
|
|
|
Summary: HTML documentation for openmpi
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
|
HTML documentation for openmpi.
|
|
|
|
|
|
|
|
|
|
%if %{with java}
|
|
|
|
|
%package java
|
|
|
|
|
Summary: Java library
|
|
|
|
@ -196,20 +249,27 @@ OpenMPI support for Python 3.
|
|
|
|
|
--sysconfdir=%{_sysconfdir}/%{namearch} \
|
|
|
|
|
--disable-silent-rules \
|
|
|
|
|
--enable-builtin-atomics \
|
|
|
|
|
--enable-mpi-cxx \
|
|
|
|
|
--enable-ipv6 \
|
|
|
|
|
%if %{with java}
|
|
|
|
|
--enable-mpi-java \
|
|
|
|
|
%endif
|
|
|
|
|
--enable-mpi1-compatibility \
|
|
|
|
|
%if %{with sphinx}
|
|
|
|
|
--enable-sphinx \
|
|
|
|
|
%endif
|
|
|
|
|
--with-prrte=external \
|
|
|
|
|
--with-sge \
|
|
|
|
|
%ifarch %{valgrind_arches}
|
|
|
|
|
--with-valgrind \
|
|
|
|
|
--enable-memchecker \
|
|
|
|
|
%endif
|
|
|
|
|
--with-hwloc=/usr \
|
|
|
|
|
%if !0%{?el7}
|
|
|
|
|
--with-libevent=external \
|
|
|
|
|
%if %{with pmix}
|
|
|
|
|
--with-pmix=external \
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%make_build V=1
|
|
|
|
|
|
|
|
|
@ -217,10 +277,6 @@ OpenMPI support for Python 3.
|
|
|
|
|
%make_install
|
|
|
|
|
find %{buildroot}%{_libdir}/%{name}/lib -name \*.la | xargs rm
|
|
|
|
|
find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9
|
|
|
|
|
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz
|
|
|
|
|
# Remove dangling symlink
|
|
|
|
|
rm %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1
|
|
|
|
|
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}
|
|
|
|
|
|
|
|
|
|
# Make the environment-modules file
|
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
|
|
|
|
@ -261,6 +317,10 @@ cd -
|
|
|
|
|
# Create cmake dir
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/
|
|
|
|
|
|
|
|
|
|
# Create directories for OpenMPI packages with development files
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/%{name}/lib/openmpi/cmake
|
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/%{name}/include
|
|
|
|
|
|
|
|
|
|
# Remove extraneous wrapper link libraries (bug 814798)
|
|
|
|
|
sed -i -e s/-ldl// -e s/-lhwloc// \
|
|
|
|
|
%{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
|
|
|
|
@ -274,7 +334,12 @@ mkdir -p %{buildroot}/%{python3_sitearch}/%{name}
|
|
|
|
|
install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
make check
|
|
|
|
|
fail=1
|
|
|
|
|
# Failing on s390x - https://github.com/open-mpi/ompi/issues/10988
|
|
|
|
|
%ifarch s390x
|
|
|
|
|
fail=0
|
|
|
|
|
%endif
|
|
|
|
|
make check || ( cat test/*/test-suite.log && exit $fail )
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license LICENSE
|
|
|
|
@ -283,58 +348,61 @@ make check
|
|
|
|
|
%dir %{_libdir}/%{name}/bin
|
|
|
|
|
%dir %{_libdir}/%{name}/lib
|
|
|
|
|
%dir %{_libdir}/%{name}/lib/openmpi
|
|
|
|
|
%dir %{_libdir}/%{name}/lib/openmpi/cmake
|
|
|
|
|
%dir %{_libdir}/%{name}/include
|
|
|
|
|
%dir %{_mandir}/%{namearch}
|
|
|
|
|
%dir %{_mandir}/%{namearch}/man*
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{namearch}/*
|
|
|
|
|
%{_libdir}/%{name}/bin/mpi[er]*
|
|
|
|
|
%{_libdir}/%{name}/bin/ompi*
|
|
|
|
|
%{_libdir}/%{name}/bin/orte[-dr_]*
|
|
|
|
|
%if %{with ucx}
|
|
|
|
|
%{_libdir}/%{name}/bin/oshmem_info
|
|
|
|
|
%{_libdir}/%{name}/bin/oshrun
|
|
|
|
|
%{_libdir}/%{name}/bin/shmemrun
|
|
|
|
|
%endif
|
|
|
|
|
%{_libdir}/%{name}/bin/oshrun
|
|
|
|
|
%if %{without pmix}
|
|
|
|
|
%{_libdir}/%{name}/bin/pattrs
|
|
|
|
|
%{_libdir}/%{name}/bin/pctrl
|
|
|
|
|
%{_libdir}/%{name}/bin/pevent
|
|
|
|
|
%{_libdir}/%{name}/bin/plookup
|
|
|
|
|
%{_libdir}/%{name}/bin/pmix_info
|
|
|
|
|
%{_libdir}/%{name}/bin/pmixcc
|
|
|
|
|
%{_libdir}/%{name}/bin/pps
|
|
|
|
|
%{_libdir}/%{name}/bin/pquery
|
|
|
|
|
%{_libdir}/%{name}/lib/libpmix.so.2*
|
|
|
|
|
%{_libdir}/%{name}/lib/pmix/
|
|
|
|
|
%{_libdir}/%{name}/share/pmix/
|
|
|
|
|
%{_mandir}/%{namearch}/man1/pmix_info.1*
|
|
|
|
|
%{_mandir}/%{namearch}/man5/openpmix.5*
|
|
|
|
|
%endif
|
|
|
|
|
%{_mandir}/%{namearch}/man7/Open-MPI.7*
|
|
|
|
|
%{_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*
|
|
|
|
|
%{_libdir}/%{name}/lib/*.so.80*
|
|
|
|
|
%if 0%{?el7}
|
|
|
|
|
%{_libdir}/%{name}/lib/pmix/
|
|
|
|
|
%endif
|
|
|
|
|
%{_mandir}/%{namearch}/man1/mpi[er]*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/mpirun.1*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/mpisync.1*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/ompi*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/orte[-dr_]*
|
|
|
|
|
%if %{with ucx}
|
|
|
|
|
%{_mandir}/%{namearch}/man1/oshmem_info*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/oshrun*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/shmemrun*
|
|
|
|
|
%endif
|
|
|
|
|
%{_mandir}/%{namearch}/man7/ompi_*
|
|
|
|
|
%{_mandir}/%{namearch}/man7/opal_*
|
|
|
|
|
%{_mandir}/%{namearch}/man7/orte*
|
|
|
|
|
%{_libdir}/%{name}/lib/openmpi/*
|
|
|
|
|
%{_datadir}/modulefiles/mpi/
|
|
|
|
|
%dir %{_libdir}/%{name}/share
|
|
|
|
|
%dir %{_libdir}/%{name}/share/openmpi
|
|
|
|
|
%{_libdir}/%{name}/share/openmpi/amca-param-sets
|
|
|
|
|
%{_libdir}/%{name}/share/openmpi/help*.txt
|
|
|
|
|
%if %{with rdma}
|
|
|
|
|
%{_libdir}/%{name}/share/openmpi/mca-btl-openib-device-params.ini
|
|
|
|
|
%endif
|
|
|
|
|
%if 0%{?el7}
|
|
|
|
|
%{_libdir}/%{name}/share/pmix/
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%dir %{_includedir}/%{namearch}
|
|
|
|
|
%{_libdir}/%{name}/bin/aggregate_profile.pl
|
|
|
|
|
%{_libdir}/%{name}/bin/mpi[cCf]*
|
|
|
|
|
%{_libdir}/%{name}/bin/opal_*
|
|
|
|
|
%{_libdir}/%{name}/bin/orte[cCf]*
|
|
|
|
|
%if %{with ucx}
|
|
|
|
|
%{_libdir}/%{name}/bin/osh[cCf]*
|
|
|
|
|
%endif
|
|
|
|
|
%{_libdir}/%{name}/bin/profile2mat.pl
|
|
|
|
|
%if %{with ucx}
|
|
|
|
|
%{_libdir}/%{name}/bin/shmem[cCf]*
|
|
|
|
|
%endif
|
|
|
|
@ -348,6 +416,7 @@ make check
|
|
|
|
|
%{_mandir}/%{namearch}/man1/mpi[cCf]*
|
|
|
|
|
%if %{with ucx}
|
|
|
|
|
%{_mandir}/%{namearch}/man1/osh[cCf]*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/oshmem-wrapper-compiler.1*
|
|
|
|
|
%{_mandir}/%{namearch}/man1/shmem[cCf]*
|
|
|
|
|
%endif
|
|
|
|
|
%{_mandir}/%{namearch}/man1/opal_*
|
|
|
|
@ -356,6 +425,11 @@ make check
|
|
|
|
|
%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
|
|
|
|
|
%{macrosdir}/macros.%{namearch}
|
|
|
|
|
|
|
|
|
|
%files doc
|
|
|
|
|
%license LICENSE
|
|
|
|
|
%doc %{_libdir}/%{name}/share/doc/
|
|
|
|
|
%exclude %{_libdir}/%{name}/share/doc/openmpi/javadoc-openmpi
|
|
|
|
|
|
|
|
|
|
%if %{with java}
|
|
|
|
|
%files java
|
|
|
|
|
%{_libdir}/%{name}/lib/mpi.jar
|
|
|
|
@ -363,8 +437,7 @@ make check
|
|
|
|
|
%files java-devel
|
|
|
|
|
%{_libdir}/%{name}/bin/mpijavac
|
|
|
|
|
%{_libdir}/%{name}/bin/mpijavac.pl
|
|
|
|
|
# Currently this only contaings openmpi/javadoc
|
|
|
|
|
%{_libdir}/%{name}/share/doc/
|
|
|
|
|
%doc %{_libdir}/%{name}/share/doc/openmpi/javadoc-openmpi
|
|
|
|
|
%{_mandir}/%{namearch}/man1/mpijavac.1.gz
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
@ -380,6 +453,36 @@ make check
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Nov 06 2023 David Abdurachmanov <davidlt@rivosinc.com> - 5.0.0-2.0.riscv64
|
|
|
|
|
- Add support for riscv64
|
|
|
|
|
|
|
|
|
|
* Tue Oct 31 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 5.0.0-2
|
|
|
|
|
- Disable building docs in RHEL builds
|
|
|
|
|
|
|
|
|
|
* Fri Oct 27 2023 Orion Poplawski <orion@nwra.com> - 5.0.0-1
|
|
|
|
|
- Update to 5.0.0
|
|
|
|
|
- Drops 32-bit i686 support
|
|
|
|
|
- Drops C++ bindings
|
|
|
|
|
- Add doc sub-package
|
|
|
|
|
|
|
|
|
|
* Thu Oct 12 2023 Cristian Le <fedora@lecris.me> - 4.1.5-8
|
|
|
|
|
- Added CMAKE_PREFIX_PATH to module file
|
|
|
|
|
|
|
|
|
|
* Sat Sep 30 2023 Benson Muite <benson_muite@emailplus.org> - 4.1.5-7
|
|
|
|
|
- Add include and cmake directories for development files for OpenMPI packages
|
|
|
|
|
|
|
|
|
|
* Fri Sep 22 2023 Orion Poplawski <orion@nwra.com> - 4.1.5-6
|
|
|
|
|
- Rebuild for pmix 4.1.3 (bz#2240042)
|
|
|
|
|
|
|
|
|
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.5-5
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jul 10 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 4.1.5-4
|
|
|
|
|
- Disable PSM2 in RHEL 10 builds
|
|
|
|
|
|
|
|
|
|
* Thu Jun 22 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 4.1.5-3
|
|
|
|
|
- Disable PSM, OrangeFS in RHEL builds
|
|
|
|
|
|
|
|
|
|
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 4.1.5-2
|
|
|
|
|
- Rebuilt for Python 3.12
|
|
|
|
|
|
|
|
|
|