[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