[mpich2] - Update to 1.3 RC 2
Deji Akingunola
deji at fedoraproject.org
Tue Oct 19 14:47:58 UTC 2010
commit 9d25ab2b01baf17bd230831fbf4aeff9349cc807
Author: Deji Akingunola <dakingun at gmail.com>
Date: Tue Oct 19 10:48:19 2010 -0400
- Update to 1.3 RC 2
.gitignore | 1 +
mpich2-fix-mpicxx-und.patch | 33 ++++++++++++++
mpich2-modules.patch | 5 +-
mpich2.spec | 99 +++++++++++++++++++++++--------------------
sources | 2 +-
5 files changed, 91 insertions(+), 49 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fbc7ccb..329d5f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
mpich2-1.2.1p1.tar.gz
+/mpich2-1.3rc2.tar.gz
diff --git a/mpich2-fix-mpicxx-und.patch b/mpich2-fix-mpicxx-und.patch
new file mode 100644
index 0000000..4e1f9cc
--- /dev/null
+++ b/mpich2-fix-mpicxx-und.patch
@@ -0,0 +1,33 @@
+--- Makefile.in 2010-10-02 17:03:25.000000000 -0400
++++ Makefile.in.new 2010-10-12 12:36:36.678703773 -0400
+@@ -99,6 +99,8 @@
+
+ CC = @CC@
+ CFLAGS = @CFLAGS@ $(MPICH2_MAKE_CFLAGS)
++CXX = @CXX@
++CXXFLAGS = @CXXFLAGS@ $(MPICH2_MAKE_CXXFLAGS)
+ C_COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS)
+ # Build the shared library from the shared object files
+ lib/lib${MPILIBNAME}. at SHLIB_EXT@: lib/lib${MPILIBNAME}.la
+@@ -115,7 +117,7 @@
+ (cd lib && $(CREATESHLIB) --mode=link -version-info "$(ABIVERSION)" -o lib${MPILIBNAME}f90.la -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
+ # Build the shared library from the shared object files
+ lib/lib${MPICXXLIBNAME}. at SHLIB_EXT@: lib/lib${MPICXXLIBNAME}.la
+- (cd lib && $(CREATESHLIB) --mode=link -version-info "$(ABIVERSION)" -o lib${MPICXXLIBNAME}.la -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
++ (cd lib && $(CREATESHLIB) --mode=link -cc="$(CXX) $(CXXFLAGS)" -clink="$(CXX) $(CXXFLAGS) -shared" -version-info "$(ABIVERSION)" -o lib${MPICXXLIBNAME}.la -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
+
+ # --------------------------------------------------------------------------
+ .libstamp0:
+--- src/util/createshlib.in 2010-10-12 14:02:39.743151668 -0400
++++ src/util/createshlib.in.new 2010-10-12 14:02:52.677826974 -0400
+@@ -98,8 +98,8 @@
+ -dryrun) Show=echo ;;
+ # -cc and -clink allow us to override the commands used to
+ # build the shared library
+- -cc=*) CC_SHL=$option ;;
+- -clink=*) C_LINK_SHL=$option ;;
++ -cc=*) CC_SHL=`echo $arg | sed -e 's/-cc=//'` ;;
++ -clink=*) C_LINK_SHL=`echo $arg | sed -e 's/-clink=//'` ;;
+ -libtype=*) libtype=$option ;;
+ -l*|-L*)
+ dependentLibs="$dependentLibs $arg"
diff --git a/mpich2-modules.patch b/mpich2-modules.patch
index 357b815..5c5c324 100644
--- a/mpich2-modules.patch
+++ b/mpich2-modules.patch
@@ -1,6 +1,6 @@
--- src/packaging/envmods/mpich2.module.in 2009-07-02 15:54:58.000000000 -0400
-+++ src/packaging/envmods/mpich2.module.in.new 2009-11-09 10:37:03.524042574 -0500
-@@ -4,11 +4,16 @@
++++ src/packaging/envmods/mpich2.module.in.new 2010-09-22 14:27:49.950096538 -0400
+@@ -4,11 +4,17 @@
#
# Define prefix so PATH and MANPATH can be updated.
@@ -23,3 +23,4 @@
-# Undefine prefix and exec_prefix which are too generic environment variables.
-unsetenv prefix
-unsetenv exec_prefix
++prepend-path PYTHONPATH @pysitearch@/@MPILIBNAME at 2
diff --git a/mpich2.spec b/mpich2.spec
index e2280ee..e4771aa 100644
--- a/mpich2.spec
+++ b/mpich2.spec
@@ -2,38 +2,37 @@
Summary: A high-performance implementation of MPI
Name: mpich2
-Version: 1.2.1p1
-Release: 8%{?dist}
+Version: 1.3
+Release: 0.1.rc2%{?dist}
License: MIT
Group: Development/Libraries
URL: http://www.mcs.anl.gov/research/projects/mpich2
-Source0: http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/%{version}/%{name}-%{version}.tar.gz
+Source0: http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/%{version}/%{name}-%{version}rc2.tar.gz
Source1: mpich2.macros
Patch0: mpich2-modules.patch
+Patch1: mpich2-fix-mpicxx-und.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: libXt-devel, libuuid-devel
-BuildRequires: java-devel-openjdk, gcc-gfortran
-BuildRequires: emacs-common, perl, python
+BuildRequires: libXt-devel, bison, flex, libuuid-devel
+BuildRequires: java-devel-openjdk, gcc-gfortran, hwloc-devel
+BuildRequires: valgrind-devel, perl, python
Obsoletes: %{name}-libs < 1.1.1
Requires: environment-modules
-Requires: python
Requires(pre): chkconfig
#Requires chkconfig for /usr/sbin/alternatives
%description
MPICH2 is a high-performance and widely portable implementation of the
-MPI standard. This release has all MPI-2.1 functions and features
-required by the standard with the exeption of support for the
-"external32" portable I/O format.
+MPI standard (both MPI-1 and MPI-2). This release has all MPI-2.2 functions and
+features required by the standard with the exeption of support for the
+"external32" portable I/O format and user-defined data representations for I/O.
The mpich2 binaries in this RPM packages were configured to use the default
-process manager 'MPD' using the default device 'ch3'. The ch3 device
+process manager (Hydra) using the default device (ch3). The ch3 device
was configured with support for the nemesis channel that allows for
shared-memory and TCP/IP sockets based communication.
-This build also include support for using '/usr/sbin/alternatives'
-and/or the 'module environment' to select which MPI implementation to use
-when multiple implementations are installed.
+This build also include support for using the 'module environment' to select
+which MPI implementation to use when multiple implementations are installed.
%package devel
Summary: Development files for mpich2
@@ -48,6 +47,17 @@ Requires(pre): chkconfig
%description devel
Contains development headers and libraries for mpich2
+%package mpd
+Summary: MPICH2's mpd process manager
+Group: Applications/Engineering
+Requires: %{name} = %{version}-%{release}
+Requires: python
+BuildArch: noarch
+
+%description mpd
+Provide support for using mpd as MPICH2's process manager.Applications/Engineering
+NOTE: The mpiexec executable for this PM Applications/Engineeringis named mpiexec.mpd
+
%package doc
Summary: Documentations and examples for mpich2
Group: Documentation
@@ -92,19 +102,18 @@ Contains documentations, examples and manpages for mpich2
%endif
%prep
-%setup -q
+%setup -q -n %{name}-%{version}rc2
%patch0 -p0 -b .modu
+%patch1 -p0 -b .und
%build
-# Remove the rpath link options
-sed -i 's/C_LINKPATH_SHL=.*/C_LINKPATH_SHL=/' src/env/mpicc.bash.in
-sed -i 's/CXX_LINKPATH_SHL=.*/CXX_LINKPATH_SHL=/' src/env/mpicxx.bash.in
-sed -i 's/F90_LINKPATH_SHL=.*/F90_LINKPATH_SHL=/' src/env/mpif90.bash.in
-sed -i 's/FC_LINKPATH_SHL=.*/FC_LINKPATH_SHL=/' src/env/mpif77.bash.in
%configure \
--enable-sharedlibs=gcc \
- --enable-f90 \
+ --enable-shared \
+ --disable-rpath \
+ --enable-fc \
--with-device=%{selected_channels} \
+ --with-pm=hydra:mpd:gforker \
--sysconfdir=%{_sysconfdir}/%{name}-%{_arch} \
--includedir=%{_includedir}/%{name}-%{_arch} \
--bindir=%{_libdir}/%{name}/bin \
@@ -113,25 +122,27 @@ sed -i 's/FC_LINKPATH_SHL=.*/FC_LINKPATH_SHL=/' src/env/mpif77.bash.in
--mandir=%{_mandir}/%{name} \
--docdir=%{_datadir}/%{name}/doc \
--htmldir=%{_datadir}/%{name}/doc \
+ --with-hwloc-prefix=system \
--with-java=%{_sysconfdir}/alternatives/java_sdk \
- F90=%{opt_fc} \
+ FC=%{opt_fc} \
F77=%{opt_f77} \
CFLAGS="%{m_option} -O2 %{?XFLAGS}" \
CXXFLAGS="%{m_option} -O2 %{?XFLAGS}" \
- F90FLAGS="%{m_option} -O2 %{?XFLAGS}" \
+ FCFLAGS="%{m_option} -O2 %{?XFLAGS}" \
FFLAGS="%{m_option} -O2 %{?XFLAGS}" \
LDFLAGS='-Wl,-z,noexecstack' \
MPICH2LIB_CFLAGS="%{?opt_cc_cflags}" \
MPICH2LIB_CXXFLAGS="%{optflags}" \
- MPICH2LIB_F90FLAGS="%{?opt_fc_fflags}" \
+ MPICH2LIB_FCFLAGS="%{?opt_fc_fflags}" \
MPICH2LIB_FFLAGS="%{?opt_f77_fflags}"
# MPICH2LIB_LDFLAGS='-Wl,-z,noexecstack' \
# MPICH2_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
# MPICH2_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
-# MPICH2_MPIF90_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
+# MPICH2_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
# MPICH2_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}"
+# --with-openpa-prefix=embedded \
-# F90FLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}" \
+# FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}" \
#make %{?_smp_mflags} doesn't work
make VERBOSE=1
@@ -176,7 +187,7 @@ done
rm -rf %{buildroot}%{_sbindir}/mpe*
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
-rm -f %{buildroot}%{_libdir}/%{name}/lib/lib*mpich*.a
+rm -f %{buildroot}%{_libdir}/%{name}/lib/lib{*mpich*,opa,mpl}.a
%clean
rm -rf %{buildroot}
@@ -211,16 +222,17 @@ fi
%{_libdir}/%{name}/lib/*.jar
%{_libdir}/%{name}/lib/mpe*.o
%{_libdir}/%{name}/lib/*.so.*
-%{_libdir}/%{name}/bin/mp*
-%{_libdir}/%{name}/bin/check_callstack
-%{_libdir}/%{name}/bin/parkill
-%{_libdir}/%{name}/bin/pmi_proxy
-%config %{_sysconfdir}/%{name}-%{_arch}/
+%{_libdir}/%{name}/bin/*
+%%config %{_sysconfdir}/%{name}-%{_arch}/
%dir %{python_sitearch}/%{name}
%dir %{_mandir}/%{name}
%doc %{_mandir}/%{name}/man1/
%{_datadir}/Modules/modulefiles/%{name}-%{_arch}
%{_sysconfdir}/profile.d/mpich2-%{_arch}.*
+%exclude %{_libdir}/%{name}/bin/*log*
+%exclude %{_libdir}/%{name}/bin/jumpshot
+%exclude %{_libdir}/%{name}/bin/mpiexec.mpd
+%exclude %{_libdir}/%{name}/bin/mpd*
%files devel
%defattr(-,root,root,-)
@@ -233,12 +245,17 @@ fi
%{_libdir}/%{name}/lib/trace_rlog/libTraceInput.so
%{_libdir}/pkgconfig/%{name}-ch3.pc
%{_libdir}/pkgconfig/openpa.pc
-%dir %{_datadir}/%{name}
%{_datadir}/%{name}/examples*/Makefile-%{_arch}
%config %{_sysconfdir}/rpm/macros.%{name}
+%files mpd
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/bin/mpiexec.mpd
+%{_libdir}/%{name}/bin/mpd*
+
%files doc
%defattr(-,root,root,-)
+%dir %{_datadir}/%{name}
%{_datadir}/%{name}/doc/
%{_datadir}/%{name}/examples*
%{_datadir}/%{name}/logfiles/
@@ -247,18 +264,8 @@ fi
%exclude %{_datadir}/%{name}/examples*/Makefile-%{_arch}
%changelog
-* Tue Jul 27 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1.2.1p1-8
-- Again rebuild against python 2.7
-
-* Mon Jul 26 2010 Deji Akingunola <dakingun at gmail.com> - 1.2.1p1-7
-- Revert the erroneous BR on python-devel
-- Make the -doc subpackage depend on the -devel subpackage
-
-* Thu Jul 22 2010 Thomas Spura <tomspur at fedoraproject.org> - 1.2.1p1-6
-- BuildRequire python-devel and not just python
-
-* Wed Jul 21 2010 David Malcolm <dmalcolm at redhat.com> - 1.2.1p1-5
-- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
+* Tue Oct 19 2010 Deji Akingunola <dakingun at gmail.com> - 1.3-0.1.rc2
+- Update to 1.3 RC 2
* Thu Jul 15 2010 Dan Horák <dan[at]danny.cz> - 1.2.1p1-4
- build with -fPIC on s390
@@ -287,7 +294,7 @@ fi
* Thu Nov 26 2009 Deji Akingunola <dakingun at gmail.com> - 1.2.1-2
- Fix the mpich2.module patch.
-* Wed Nov 18 2009 Deji Akingunola <dakingun at gmail.com> - 1.2.1-1
+* Tue Nov 10 2009 Deji Akingunola <dakingun at gmail.com> - 1.2.1-1
- Update to 1.2.1
* Tue Nov 03 2009 Deji Akingunola <dakingun at gmail.com> - 1.2-2
diff --git a/sources b/sources
index 3073fc1..fb3341f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fa7e8dc7c5fb60395ab26c5b239321ca mpich2-1.2.1p1.tar.gz
+174c3dd9dfced4c5fe0ff1af0bdd9a4f mpich2-1.3rc2.tar.gz
More information about the scm-commits
mailing list