[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