Compare commits

...

10 Commits

Author SHA1 Message Date
David Abdurachmanov db9334ea6c
Properly check valgrind arches
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-06 13:03:56 +02:00
Yaakov Selkowitz f73f8383b3 Disable building docs in RHEL builds
python-recommonmark is unwanted in RHEL due to its dependencies.
2023-10-30 22:51:24 -04:00
Orion Poplawski b82bf993d0 Update to 5.0.0
Drops 32-bit i686 support
Drops c++ bindings
Add doc sub-package
2023-10-28 19:02:51 -06:00
Cristian Le 37cfaa8286 Added CMAKE_PREFIX_PATH to the module file
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
2023-10-12 09:44:01 +02:00
Benson Muite 60a3010320 Create included and cmake directories for OpenMPI package files 2023-09-30 04:04:50 +00:00
Benson Muite b2d5f3c280 OpenMPI should own cmake and include install directories
Make sure that packages which install cmake and include files in OpenMPI locations
do not need to own the main directories for OpenMPI.

See https://download.copr.fedorainfracloud.org/results/fed500/gloo/fedora-rawhide-x86_64/06467673-gloo/fedora-review/review.txt
2023-09-29 06:50:57 +00:00
Orion Poplawski 01a28a7803 Rebuild for pmix 4.1.3 (bz#2240042) 2023-09-22 21:01:31 -06:00
Fedora Release Engineering 6b9dcb4d55 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 18:07:06 +00:00
Yaakov Selkowitz 0d7cd0891a Disable PSM2 in ELN builds
libpsm2 is listed as unwanted in ELN and RHEL 10+.  Also, clarify the
PSM conditional as disabled in RHEL 8+.
2023-07-10 00:25:36 -04:00
Yaakov Selkowitz 87fa84a1a1 Disable PSM, OrangeFS in RHEL builds
This is based on c9s:

4bc1e69400
5dda5cc9df
2023-06-22 03:51:39 -04:00
5 changed files with 140 additions and 35 deletions

1
.gitignore vendored
View File

@ -62,3 +62,4 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-4.1.3.tar.bz2
/openmpi-4.1.4.tar.bz2
/openmpi-4.1.5.tar.bz2
/openmpi-5.0.0.tar.bz2

View File

@ -1,7 +1,7 @@
%_openmpi_load \
. /etc/profile.d/modules.sh; \
module load mpi/openmpi-%{_arch}; \
export OMPI_MCA_rmaps_base_oversubscribe=1
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
%_openmpi_unload \
. /etc/profile.d/modules.sh; \
module unload mpi/openmpi-%{_arch};

View File

@ -6,6 +6,7 @@ conflict mpi
prepend-path PATH @LIBDIR@/bin
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
prepend-path CMAKE_PREFIX_PATH @LIBDIR@
prepend-path MANPATH :@MANDIR@
setenv MPI_BIN @LIBDIR@/bin
setenv MPI_SYSCONFIG @ETCDIR@

View File

@ -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

View File

@ -1 +1 @@
SHA512 (openmpi-4.1.5.tar.bz2) = 7a2188684ed7542fe42e1717ae72cb859b4f3d6f722c9d3ba04bfed6c2178b3e7da3a536629d312c23571fed4d9b2ca5e20e85898ae5144e9332bd898e6e1cc6
SHA512 (openmpi-5.0.0.tar.bz2) = 29fa7d8d91c19d5ced867d4194da53c78dee775ad3d6ea6063a0609e2829799b06dc4603d165ab7cab045f645a0962d30774c8c05020b28da548c6cad55e82e6