[mpich2/f15] Update to 1.4.1 final Drop the mpd subpackage, the PM is no longer supported upstream Fix undefined

Deji Akingunola deji at fedoraproject.org
Sat Aug 27 06:00:43 UTC 2011


commit c3518cb1c161c4d290433ddc038f7790ad6c1dad
Author: Deji Akingunola <dakingun at mail.com>
Date:   Sat Aug 27 02:03:01 2011 -0400

    Update to 1.4.1 final
    Drop the mpd subpackage, the PM is no longer supported upstream
    Fix undefined symbols in libmpichcxx (again) (#732926)

 mpich2-1.4-embedded-hydra-fix.patch |   64 -----------------------------------
 mpich2-destdir-fix.patch            |   24 +++++++++++++
 mpich2-mpicxx-und.patch             |   31 +++++++++++++++++
 mpich2.spec                         |   52 +++++++++++++---------------
 sources                             |    2 +-
 5 files changed, 80 insertions(+), 93 deletions(-)
---
diff --git a/mpich2-destdir-fix.patch b/mpich2-destdir-fix.patch
new file mode 100644
index 0000000..45d53c9
--- /dev/null
+++ b/mpich2-destdir-fix.patch
@@ -0,0 +1,24 @@
+--- Makefile.in	2011-08-24 15:41:55.000000000 -0400
++++ Makefile.in.new	2011-08-25 14:19:05.032679591 -0400
+@@ -202,16 +202,16 @@
+ 	if [ -s $(srcdir)/doc/installguide/install.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/installguide/install.pdf ${DESTDIR}${docdir}/install.pdf ; fi
+ 	if [ -s $(srcdir)/doc/smpd/smpd_pmi.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/smpd/smpd_pmi.pdf ${DESTDIR}${docdir}/smpd_pmi.pdf ; fi
+ 	if [ -s $(srcdir)/doc/logging/logging.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/logging/logging.pdf ${DESTDIR}${docdir}/logging.pdf ; fi
+-	(cd src/env && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
+-	(cd src/packaging/pkgconfig && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
+-	(cd src/packaging/envmods && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
++	(cd src/env && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
++	(cd src/packaging/pkgconfig && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
++	(cd src/packaging/envmods && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
+ 	for dir in @bindings_dirs@ - ; do \
+ 		if [ "$$dir" = "-" ] ; then break ; fi ;\
+-		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install) ;\
++		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install) ;\
+ 	done
+ 	for dir in @other_install_dirs@ - ; do \
+ 		if [ "$$dir" = "-" ] ; then break ; fi ;\
+-		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install) ;\
++		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install) ;\
+ 	done
+ 
+ install-strip:
diff --git a/mpich2-mpicxx-und.patch b/mpich2-mpicxx-und.patch
new file mode 100644
index 0000000..de0f1a7
--- /dev/null
+++ b/mpich2-mpicxx-und.patch
@@ -0,0 +1,31 @@
+--- Makefile.in	2011-08-25 15:13:33.437818904 -0400
++++ Makefile.in.new	2011-08-26 23:55:59.007152188 -0400
+@@ -102,6 +102,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
+@@ -118,7 +120,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)" -clink="$(CXX) $(CXXFLAGS) -shared" -version-info "$(ABIVERSION)" -o lib${MPICXXLIBNAME}.la  -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) -lmpl @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
+ 
+ # --------------------------------------------------------------------------
+ .libstamp0: 
+--- src/util/createshlib.in	2010-11-06 11:02:44.000000000 -0400
++++ src/util/createshlib.in.new	2011-08-27 01:04:47.980532917 -0400
+@@ -99,7 +99,7 @@
+        # -cc and -clink allow us to override the commands used to 
+        # build the shared library
+        -cc=*|--cc=*) CC_SHL=$option ;;
+-       -clink=*|--clink=*) C_LINK_SHL=$option ;;
++       -clink=*|--clink=*) C_LINK_SHL=`echo $arg | sed -e 's/-clink=//'` ;;
+        -libtype=*|--libtype=*) libtype=$option ;;
+        -l*|-L*)
+        dependentLibs="$dependentLibs $arg"
diff --git a/mpich2.spec b/mpich2.spec
index 64abc52..d6c5ac6 100644
--- a/mpich2.spec
+++ b/mpich2.spec
@@ -2,15 +2,16 @@
 
 Summary:	A high-performance implementation of MPI
 Name:		mpich2
-Version:	1.4
-Release:	1%{?dist}.1
+Version:	1.4.1
+Release:	1%{?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
 Source1:	mpich2.macros	
 Patch0:		mpich2-modules.patch
-Patch1:		mpich2-1.4-embedded-hydra-fix.patch
+Patch1:		mpich2-destdir-fix.patch
+Patch2:		mpich2-mpicxx-und.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	libXt-devel, bison, flex, libuuid-devel
 BuildRequires:	java-devel-openjdk, gcc-gfortran, hwloc-devel
@@ -21,6 +22,7 @@ BuildRequires:	valgrind-devel
 %endif
 Provides:	mpi
 Obsoletes:	%{name}-libs < 1.1.1
+Obsoletes:	%{name}-mpd < 1.4.1
 Requires:	environment-modules
 Requires(pre):	chkconfig
 #Requires chkconfig for /usr/sbin/alternatives
@@ -52,16 +54,6 @@ 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
-
-%description mpd
-Provide support for using mpd as MPICH2's process manager
-NOTE: The mpiexec executable for this process manager is named 'mpiexec.mpd'
-
 %package doc
 Summary:	Documentations and examples for mpich2
 Group:          Documentation
@@ -112,8 +104,8 @@ Contains documentations, examples and manpages for mpich2
 %prep
 %setup -q
 %patch0 -p0 -b .modu
-%patch1 -p0 -b .ebd
-(cd src/pm/hydra && autoreconf -vif)
+%patch1 -p0 -b .dest
+%patch2 -p0 -b .und
 
 %build
 %configure	\
@@ -122,7 +114,7 @@ Contains documentations, examples and manpages for mpich2
 	--disable-rpath						\
 	--enable-fc						\
 	--with-device=%{selected_channels}			\
-	--with-pm=hydra:mpd:gforker				\
+	--with-pm=hydra:gforker				\
 	--sysconfdir=%{_sysconfdir}/%{name}-%{_arch}		\
 	--includedir=%{_includedir}/%{name}-%{_arch}		\
 	--bindir=%{_libdir}/%{name}/bin				\
@@ -159,6 +151,12 @@ make VERBOSE=1
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} install
 
+# Workaround 1.4.1 broken destdir
+for fichier in mpif77 mpif90 mpicxx mpicc ; do
+  sed -i 's#'%{buildroot}'##' %{buildroot}%{_libdir}/%{name}/bin/$fichier
+  sed -i 's#'%{buildroot}'##' %{buildroot}%{_sysconfdir}/%{name}-%{_arch}/$fichier.conf
+done
+
 mv %{buildroot}%{_libdir}/%{name}/lib/pkgconfig %{buildroot}%{_libdir}/
 chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
 
@@ -166,10 +164,10 @@ chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
 #mv  %{buildroot}%{_includedir}/%{name}/*.mod %{buildroot}/%{_fmoddir}/%{name}/
 
 # Install the module file
-mkdir -p %{buildroot}%{_datadir}/Modules/modulefiles
+mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
 mkdir -p %{buildroot}%{python_sitearch}/%{name}
-cp -pr src/packaging/envmods/mpich2.module %{buildroot}%{_datadir}/Modules/modulefiles/%{name}-%{_arch}
-sed -i 's#'%{_bindir}'#'%{_libdir}/%{name}/bin'#;s#@LIBDIR@#'%{_libdir}'#;s#@pysitearch@#'%{python_sitearch}'#;s#@ARCH@#'%{_arch}'#' %{buildroot}%{_datadir}/Modules/modulefiles/%{name}-%{_arch}
+cp -pr src/packaging/envmods/mpich2.module %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch}
+sed -i 's#'%{_bindir}'#'%{_libdir}/%{name}/bin'#;s#@LIBDIR@#'%{_libdir}'#;s#@pysitearch@#'%{python_sitearch}'#;s#@ARCH@#'%{_arch}'#' %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch}
 
 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
 cat << EOF > %{buildroot}%{_sysconfdir}/profile.d/mpich2-%{_arch}.sh
@@ -232,16 +230,14 @@ fi
 %{_libdir}/%{name}/lib/mpe*.o
 %{_libdir}/%{name}/lib/*.so.*
 %{_libdir}/%{name}/bin/*
-%%config %{_sysconfdir}/%{name}-%{_arch}/
+%config %{_sysconfdir}/%{name}-%{_arch}/
 %dir %{python_sitearch}/%{name}
 %dir %{_mandir}/%{name}
 %doc %{_mandir}/%{name}/man1/
-%{_datadir}/Modules/modulefiles/%{name}-%{_arch}
+%{_sysconfdir}/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,-)
@@ -257,11 +253,6 @@ fi
 %{_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}
@@ -273,6 +264,11 @@ fi
 %exclude %{_datadir}/%{name}/examples*/Makefile-%{_arch}
 
 %changelog
+* Fri Aug 27 2011 Deji Akingunola <dakingun at gmail.com> - 1.4.1-1
+- Update to 1.4.1 final
+- Drop the mpd subpackage, the PM is no longer supported upstream
+- Fix undefined symbols in libmpichcxx (again) (#732926)
+
 * Sun Jul 17 2011 Deji Akingunola <dakingun at gmail.com> - 1.4-1
 - Rebuild for hwloc soname bump.
 
diff --git a/sources b/sources
index 9cdb9e9..ae36f14 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-cf7f8c12161b0af3f111e33c6d15f5c6  mpich2-1.4.tar.gz
+5c423a39900113ab7b01d8b57a0fd8fa  mpich2-1.4.1.tar.gz


More information about the scm-commits mailing list