Update to 3.1.3

Drop ppc64le patch fixed upstream
Use external libevent and pmix
Fix EPEL7 builds
This commit is contained in:
Orion Poplawski 2018-11-24 13:46:24 -07:00 committed by Orion Poplawski
parent ab60e5c454
commit 8cf4509374
4 changed files with 37 additions and 133 deletions

1
.gitignore vendored
View File

@ -39,3 +39,4 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-2.1.1.tar.bz2 /openmpi-2.1.1.tar.bz2
/openmpi-2.1.5.tar.bz2 /openmpi-2.1.5.tar.bz2
/openmpi-2.1.6rc1.tar.bz2 /openmpi-2.1.6rc1.tar.bz2
/openmpi-3.1.3.tar.bz2

View File

@ -1,103 +0,0 @@
--- openmpi-2.1.1/test/class/Makefile.am 2017-05-10 08:41:36.000000000 -0700
+++ openmpi-2.1.1/test/class/Makefile.am.new 2017-08-24 09:07:12.539374461 -0700
@@ -95,11 +95,14 @@
$(top_builddir)/test/support/libsupport.a
opal_lifo_DEPENDENCIES = $(opal_lifo_LDADD)
-opal_fifo_SOURCES = opal_fifo.c
-opal_fifo_LDADD = \
- $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
- $(top_builddir)/test/support/libsupport.a
-opal_fifo_DEPENDENCIES = $(opal_fifo_LDADD)
+# Disabled due to:
+# https://github.com/open-mpi/ompi/issues/2526
+# https://github.com/open-mpi/ompi/issues/2966
+#opal_fifo_SOURCES = opal_fifo.c
+#opal_fifo_LDADD = \
+# $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
+# $(top_builddir)/test/support/libsupport.a
+#opal_fifo_DEPENDENCIES = $(opal_fifo_LDADD)
clean-local:
rm -f opal_bitmap_test_out.txt opal_hash_table_test_out.txt opal_proc_table_test_out.txt
--- openmpi-2.1.1/test/class/Makefile.in 2017-05-10 09:01:13.000000000 -0700
+++ openmpi-2.1.1/test/class/Makefile.in.new 2017-08-24 09:07:12.539374461 -0700
@@ -115,7 +115,7 @@
opal_hash_table$(EXEEXT) opal_proc_table$(EXEEXT) \
opal_tree$(EXEEXT) opal_list$(EXEEXT) \
opal_value_array$(EXEEXT) opal_pointer_array$(EXEEXT) \
- opal_lifo$(EXEEXT) opal_fifo$(EXEEXT)
+ opal_lifo$(EXEEXT)
subdir = test/class
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/c_get_alignment.m4 \
@@ -411,8 +411,6 @@
am__v_lt_1 =
am_opal_bitmap_OBJECTS = opal_bitmap.$(OBJEXT)
opal_bitmap_OBJECTS = $(am_opal_bitmap_OBJECTS)
-am_opal_fifo_OBJECTS = opal_fifo.$(OBJEXT)
-opal_fifo_OBJECTS = $(am_opal_fifo_OBJECTS)
am_opal_hash_table_OBJECTS = opal_hash_table.$(OBJEXT)
opal_hash_table_OBJECTS = $(am_opal_hash_table_OBJECTS)
am_opal_lifo_OBJECTS = opal_lifo.$(OBJEXT)
@@ -462,12 +460,12 @@
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(ompi_rb_tree_SOURCES) $(opal_bitmap_SOURCES) \
- $(opal_fifo_SOURCES) $(opal_hash_table_SOURCES) \
+ $(opal_hash_table_SOURCES) \
$(opal_lifo_SOURCES) $(opal_list_SOURCES) \
$(opal_pointer_array_SOURCES) $(opal_proc_table_SOURCES) \
$(opal_tree_SOURCES) $(opal_value_array_SOURCES)
DIST_SOURCES = $(ompi_rb_tree_SOURCES) $(opal_bitmap_SOURCES) \
- $(opal_fifo_SOURCES) $(opal_hash_table_SOURCES) \
+ $(opal_hash_table_SOURCES) \
$(opal_lifo_SOURCES) $(opal_list_SOURCES) \
$(opal_pointer_array_SOURCES) $(opal_proc_table_SOURCES) \
$(opal_tree_SOURCES) $(opal_value_array_SOURCES)
@@ -1900,12 +1898,6 @@
$(top_builddir)/test/support/libsupport.a
opal_lifo_DEPENDENCIES = $(opal_lifo_LDADD)
-opal_fifo_SOURCES = opal_fifo.c
-opal_fifo_LDADD = \
- $(top_builddir)/opal/lib@OPAL_LIB_PREFIX@open-pal.la \
- $(top_builddir)/test/support/libsupport.a
-
-opal_fifo_DEPENDENCIES = $(opal_fifo_LDADD)
all: all-am
.SUFFIXES:
@@ -1957,10 +1949,6 @@
@rm -f opal_bitmap$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(opal_bitmap_OBJECTS) $(opal_bitmap_LDADD) $(LIBS)
-opal_fifo$(EXEEXT): $(opal_fifo_OBJECTS) $(opal_fifo_DEPENDENCIES) $(EXTRA_opal_fifo_DEPENDENCIES)
- @rm -f opal_fifo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(opal_fifo_OBJECTS) $(opal_fifo_LDADD) $(LIBS)
-
opal_hash_table$(EXEEXT): $(opal_hash_table_OBJECTS) $(opal_hash_table_DEPENDENCIES) $(EXTRA_opal_hash_table_DEPENDENCIES)
@rm -f opal_hash_table$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(opal_hash_table_OBJECTS) $(opal_hash_table_LDADD) $(LIBS)
@@ -1997,7 +1985,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ompi_rb_tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opal_bitmap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opal_fifo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opal_hash_table.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opal_lifo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opal_list.Po@am__quote@
@@ -2291,13 +2278,6 @@
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-opal_fifo.log: opal_fifo$(EXEEXT)
- @p='opal_fifo$(EXEEXT)'; \
- b='opal_fifo'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
@p='$<'; \

View File

@ -20,25 +20,20 @@
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Name: openmpi%{?_cc_name_suffix} Name: openmpi%{?_cc_name_suffix}
Version: 2.1.6 Version: 3.1.3
Release: 0.1.rc1%{?dist} Release: 1%{?dist}
Summary: Open Message Passing Interface Summary: Open Message Passing Interface
Group: Development/Libraries Group: Development/Libraries
License: BSD and MIT and Romio License: BSD and MIT and Romio
URL: http://www.open-mpi.org/ URL: http://www.open-mpi.org/
# We can't use %{name} here because of _cc_name_suffix # We can't use %{name} here because of _cc_name_suffix
Source0: https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-%{version}rc1.tar.bz2 Source0: https://www.open-mpi.org/software/ompi/v3.1/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in Source1: openmpi.module.in
Source2: openmpi.pth.py2 Source2: openmpi.pth.py2
Source3: openmpi.pth.py3 Source3: openmpi.pth.py3
Source4: macros.openmpi Source4: macros.openmpi
# Only for ppc64le
# https://github.com/open-mpi/ompi/issues/2526
# https://github.com/open-mpi/ompi/issues/2966
Patch0: openmpi-2.1.1-disable-fifo-test.patch
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
%ifnarch s390 s390x %ifnarch s390 s390x
@ -56,6 +51,7 @@ BuildRequires: hwloc-devel
# So configure can find lstopo # So configure can find lstopo
BuildRequires: hwloc-gui BuildRequires: hwloc-gui
BuildRequires: java-devel BuildRequires: java-devel
BuildRequires: libevent-devel
%ifnarch s390 s390x %ifnarch s390 s390x
BuildRequires: libfabric-devel BuildRequires: libfabric-devel
BuildRequires: papi-devel BuildRequires: papi-devel
@ -65,7 +61,7 @@ BuildRequires: perl(Getopt::Long)
BuildRequires: pmix-devel BuildRequires: pmix-devel
BuildRequires: python2 BuildRequires: python2
BuildRequires: python2-devel BuildRequires: python2-devel
BuildRequires: python3-devel BuildRequires: python%{python3_pkgversion}-devel
%ifarch x86_64 %ifarch x86_64
BuildRequires: infinipath-psm-devel BuildRequires: infinipath-psm-devel
BuildRequires: libpsm2-devel BuildRequires: libpsm2-devel
@ -75,13 +71,14 @@ BuildRequires: zlib-devel
BuildRequires: rpm-mpi-hooks BuildRequires: rpm-mpi-hooks
Provides: mpi Provides: mpi
%if 0%{?rhel}
Requires: environment-modules
%else
Requires: environment(modules) Requires: environment(modules)
%endif
# openmpi currently requires ssh to run # openmpi currently requires ssh to run
# https://svn.open-mpi.org/trac/ompi/ticket/4228 # https://svn.open-mpi.org/trac/ompi/ticket/4228
Requires: openssh-clients Requires: openssh-clients
# We have problems using the system libevent - openmpi's is modified
# https://bugzilla.redhat.com/show_bug.cgi?id=1235044
Provides: bundled(libevent) = 2.0.22
# Private openmpi libraries # Private openmpi libraries
%global __provides_exclude_from %{_libdir}/openmpi/lib/(lib(mca|ompi|open-(pal|rte|trace))|openmpi/).*.so %global __provides_exclude_from %{_libdir}/openmpi/lib/(lib(mca|ompi|open-(pal|rte|trace))|openmpi/).*.so
@ -140,20 +137,17 @@ Requires: %{name} = %{version}-%{release}
%description -n python2-openmpi %description -n python2-openmpi
OpenMPI support for Python 2. OpenMPI support for Python 2.
%package -n python3-openmpi %package -n python%{python3_pkgversion}-openmpi
Summary: OpenMPI support for Python 3 Summary: OpenMPI support for Python 3
Group: Development/Libraries Group: Development/Libraries
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%description -n python3-openmpi %description -n python%{python3_pkgversion}-openmpi
OpenMPI support for Python 3. OpenMPI support for Python 3.
%prep %prep
%setup -q -n openmpi-%{version}rc1 %setup -q -n openmpi-%{version}
%ifarch ppc64le
%patch0 -p1
%endif
%build %build
./configure --prefix=%{_libdir}/%{name} \ ./configure --prefix=%{_libdir}/%{name} \
@ -173,21 +167,19 @@ OpenMPI support for Python 3.
--enable-memchecker \ --enable-memchecker \
%endif %endif
--with-hwloc=/usr \ --with-hwloc=/usr \
--with-libevent=external \
--with-pmix=external \
CC=%{opt_cc} CXX=%{opt_cxx} \ CC=%{opt_cc} CXX=%{opt_cxx} \
LDFLAGS='%{__global_ldflags}' \ LDFLAGS='%{__global_ldflags}' \
CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \ CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \
CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \ CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}" FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}"
# This fails - https://github.com/open-mpi/ompi/issues/2616
# --with-hwloc=external \
# We cannot use external pmix without external libevent
# --with-pmix=external \
# --with-contrib-vt-flags='CXXFLAGS="-I%{_includedir}/dyninst -L%{_libdir}/dyninst"' \ # --with-contrib-vt-flags='CXXFLAGS="-I%{_includedir}/dyninst -L%{_libdir}/dyninst"' \
make %{?_smp_mflags} V=1 %make_build V=1
%install %install
make install DESTDIR=%{buildroot} %make_install
find %{buildroot}%{_libdir}/%{name}/lib -name \*.la | xargs rm find %{buildroot}%{_libdir}/%{name}/lib -name \*.la | xargs rm
find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9 find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz
@ -241,7 +233,7 @@ install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth
make check make check
%files %files
%license LICENSE opal/mca/event/libevent2022/libevent/LICENSE %license LICENSE
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%dir %{_sysconfdir}/%{namearch} %dir %{_sysconfdir}/%{namearch}
%dir %{_libdir}/%{name}/bin %dir %{_libdir}/%{name}/bin
@ -255,14 +247,20 @@ make check
%{_libdir}/%{name}/bin/orte[-dr_]* %{_libdir}/%{name}/bin/orte[-dr_]*
%{_libdir}/%{name}/bin/oshmem_info %{_libdir}/%{name}/bin/oshmem_info
%{_libdir}/%{name}/bin/oshrun %{_libdir}/%{name}/bin/oshrun
%{_libdir}/%{name}/bin/prun
%{_libdir}/%{name}/bin/shmemrun %{_libdir}/%{name}/bin/shmemrun
%{_libdir}/%{name}/lib/*.so.* %{_libdir}/%{name}/lib/*.so.40*
%{_libdir}/%{name}/lib/libmca*.so.41*
%{_libdir}/%{name}/lib/libmca*.so.50*
%{_mandir}/%{namearch}/man1/mpi[er]* %{_mandir}/%{namearch}/man1/mpi[er]*
%{_mandir}/%{namearch}/man1/ompi* %{_mandir}/%{namearch}/man1/ompi*
%{_mandir}/%{namearch}/man1/orte[-dr_]* %{_mandir}/%{namearch}/man1/orte[-dr_]*
%{_mandir}/%{namearch}/man1/oshmem_info* %{_mandir}/%{namearch}/man1/oshmem_info*
%{_mandir}/%{namearch}/man1/oshrun* %{_mandir}/%{namearch}/man1/oshrun*
%{_mandir}/%{namearch}/man1/prun*
%{_mandir}/%{namearch}/man1/shmemrun* %{_mandir}/%{namearch}/man1/shmemrun*
%{_mandir}/%{namearch}/man7/ompi_*
%{_mandir}/%{namearch}/man7/opal_*
%{_mandir}/%{namearch}/man7/orte* %{_mandir}/%{namearch}/man7/orte*
%{_libdir}/%{name}/lib/openmpi/* %{_libdir}/%{name}/lib/openmpi/*
%{_datadir}/modulefiles/mpi/ %{_datadir}/modulefiles/mpi/
@ -276,11 +274,13 @@ make check
%files devel %files devel
%dir %{_includedir}/%{namearch} %dir %{_includedir}/%{namearch}
%{_libdir}/%{name}/bin/aggregate_profile.pl
%{_libdir}/%{name}/bin/mpi[cCf]* %{_libdir}/%{name}/bin/mpi[cCf]*
%{_libdir}/%{name}/bin/opal_* %{_libdir}/%{name}/bin/opal_*
%{_libdir}/%{name}/bin/orte[cCf]* %{_libdir}/%{name}/bin/orte[cCf]*
%{_libdir}/%{name}/bin/osh[cf]* %{_libdir}/%{name}/bin/osh[cCf]*
%{_libdir}/%{name}/bin/shmem[cf]* %{_libdir}/%{name}/bin/profile2mat.pl
%{_libdir}/%{name}/bin/shmem[cCf]*
%{_includedir}/%{namearch}/* %{_includedir}/%{namearch}/*
%{_fmoddir}/%{name}/ %{_fmoddir}/%{name}/
%{_libdir}/%{name}/lib/*.so %{_libdir}/%{name}/lib/*.so
@ -310,12 +310,18 @@ make check
%dir %{python2_sitearch}/%{name} %dir %{python2_sitearch}/%{name}
%{python2_sitearch}/openmpi.pth %{python2_sitearch}/openmpi.pth
%files -n python3-openmpi %files -n python%{python3_pkgversion}-openmpi
%dir %{python3_sitearch}/%{name} %dir %{python3_sitearch}/%{name}
%{python3_sitearch}/openmpi.pth %{python3_sitearch}/openmpi.pth
%changelog %changelog
* Sat Dec 15 2018 Orion Poplawski <orion@nwra.com> - 3.1.3-1
- Update to 3.1.3
- Drop ppc64le patch fixed upstream
- Use external libevent and pmix
- Fix EPEL7 builds
* Wed Nov 28 2018 Orion Poplawski <orion@nwra.com> - 2.1.6-0.1.rc1 * Wed Nov 28 2018 Orion Poplawski <orion@nwra.com> - 2.1.6-0.1.rc1
- Update to 2.1.6rc1 - Update to 2.1.6rc1

View File

@ -1 +1 @@
SHA512 (openmpi-2.1.6rc1.tar.bz2) = 7e0cc0cc0326f2ab7cf9689afa6954cb9e894a14900a0c0287502e5ce12bcf61349806052c6cf16e670d6973f914874ebe6633d5471bfe2416fea8f4cd3feaac SHA512 (openmpi-3.1.3.tar.bz2) = 700821df676de5f85ce2793298242dcaea73f585f89540e30999792a568f193545a9f9b2bcb3ea22effa3bf14744531c4eb5fc4c84a8d7bbe5e5fdd76ab3a04a