|
|
8e20a2 |
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
Summary: A high-performance implementation of MPI
|
|
|
8e20a2 |
Name: mpich
|
|
|
8e20a2 |
Version: 3.2
|
|
|
8e20a2 |
Release: 2%{?dist}
|
|
|
8e20a2 |
License: MIT
|
|
|
8e20a2 |
Group: Development/Libraries
|
|
|
8e20a2 |
URL: http://www.mpich.org
|
|
|
8e20a2 |
|
|
|
8e20a2 |
Source0: http://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
|
|
|
8e20a2 |
Source1: mpich.macros.in
|
|
|
8e20a2 |
Source2: mpich.module.in
|
|
|
8e20a2 |
Patch1: https://trac.mpich.org/projects/mpich/raw-attachment/ticket/2299/0001-pm-remshell-include-MPL-when-linking.patch
|
|
|
8e20a2 |
Patch2: 0002-pm-gforker-include-MPL-when-linking.patch
|
|
|
8e20a2 |
Patch3: 0003-soften-version-check.patch
|
|
|
8e20a2 |
Patch4: 0001-hydra-improve-localhost-detection.patch
|
|
|
8e20a2 |
Patch5: 0001-Revert-require-automake-1.15.patch
|
|
|
8e20a2 |
Patch6: 0002-Revert-require-libtool-2.4.3.patch
|
|
|
8e20a2 |
Patch7: 0003-unbundle-YAML-Tiny.patch
|
|
|
8e20a2 |
Patch8: 0004-unbundle-hwloc-from-hydra.patch
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# Source100 derived from
|
|
|
8e20a2 |
# Source100: http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz
|
|
|
8e20a2 |
# by
|
|
|
8e20a2 |
# rm -r src/mpid/pamid
|
|
|
8e20a2 |
# vi src/mpid/Makefile*
|
|
|
8e20a2 |
# and remove references to pamid
|
|
|
8e20a2 |
# rm -r src/mpid/ch3/channels/nemesis/netmod/scif
|
|
|
8e20a2 |
# vi src/src/mpid/ch3/channels/nemesis/netmod/Makefile*
|
|
|
8e20a2 |
# and remove references to scif
|
|
|
8e20a2 |
# rm -r src/pm/hydra/tools/topo/hwloc/hwloc
|
|
|
8e20a2 |
# vi src/pm/hydra/tools/topo/hwloc/Makefile.mk
|
|
|
8e20a2 |
# and remove references to hwloc
|
|
|
8e20a2 |
# rm `find * -name 'Makefile.in' -print | grep -v doc/ | grep -v src/mpi/romio/mpi2-other/`
|
|
|
8e20a2 |
# rm -r contrib www
|
|
|
8e20a2 |
# rm src/mpi/romio/test/external32.c
|
|
|
8e20a2 |
# rm `find * -name ar-lib -o -name compile -o -name config.guess -o -name config.sub -o -name depcomp -o -name missing -o -name configure -o -name .state-cache -o -name aclocal.mp -o -name libtool.m4`
|
|
|
8e20a2 |
# rm README.envvar maint/createcoverage maint/getcoverage src/include/mpichconf.h.in src/include/mpich_param_vals.h src/pm/hydra/include/hydra_config.h.in src/util/logging/common/state_names.h src/util/param/param_vals.c subsys_include.m4
|
|
|
8e20a2 |
# more extensive changes need to actually build are included in the mpich-3.0.4-rh.patch file
|
|
|
8e20a2 |
Source100: mpich-3.0.4-rh.tar.gz
|
|
|
8e20a2 |
Patch100: mpich-3.0.4-rh.patch
|
|
|
8e20a2 |
|
|
|
8e20a2 |
BuildRequires: libXt-devel, bison, flex, libuuid-devel
|
|
|
8e20a2 |
BuildRequires: gcc-c++ gcc-gfortran
|
|
|
8e20a2 |
BuildRequires: hwloc-devel >= 1.5
|
|
|
8e20a2 |
BuildRequires: perl, python, perl-Digest-MD5, perl-YAML-Tiny
|
|
|
8e20a2 |
BuildRequires: automake autoconf libtool gettext
|
|
|
8e20a2 |
%ifnarch s390
|
|
|
8e20a2 |
BuildRequires: valgrind-devel
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global common_desc MPICH is a high-performance and widely portable implementation of the Message\
|
|
|
8e20a2 |
Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). The goals of MPICH\
|
|
|
8e20a2 |
are: (1) to provide an MPI implementation that efficiently supports different\
|
|
|
8e20a2 |
computation and communication platforms including commodity clusters (desktop\
|
|
|
8e20a2 |
systems, shared-memory systems, multicore architectures), high-speed networks\
|
|
|
8e20a2 |
(10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics) and proprietary high-end\
|
|
|
8e20a2 |
computing systems (Blue Gene, Cray) and (2) to enable cutting-edge research in\
|
|
|
8e20a2 |
MPI through an easy-to-extend modular framework for other derived\
|
|
|
8e20a2 |
implementations.\
|
|
|
8e20a2 |
\
|
|
|
8e20a2 |
The mpich binaries in this RPM packages were configured to use the default\
|
|
|
8e20a2 |
process manager (Hydra) using the default device (ch3). The ch3 device\
|
|
|
8e20a2 |
was configured with support for the nemesis channel that allows for\
|
|
|
8e20a2 |
shared-memory and TCP/IP sockets based communication.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description
|
|
|
8e20a2 |
%{common_desc}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.2
|
|
|
8e20a2 |
Summary: A high-performance implementation of MPI
|
|
|
8e20a2 |
Group: Development/Libraries
|
|
|
8e20a2 |
Obsoletes: mpich2 < 1.5-4
|
|
|
8e20a2 |
Obsoletes: mpich-libs < 1.1.1
|
|
|
8e20a2 |
Obsoletes: mpich-mpd < 1.4.1
|
|
|
8e20a2 |
Obsoletes: mpich < 3.0.4-9
|
|
|
8e20a2 |
Provides: mpi
|
|
|
8e20a2 |
Requires: environment-modules
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.2
|
|
|
8e20a2 |
%{common_desc}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.2-autoload
|
|
|
8e20a2 |
Summary: Load mpich 3.2 automatically into profile
|
|
|
8e20a2 |
Group: System Environment/Base
|
|
|
8e20a2 |
Requires: mpich-3.2 = %{version}-%{release}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.2-autoload
|
|
|
8e20a2 |
This package contains profile files that make mpich 3.2 automatically loaded.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.2-devel
|
|
|
8e20a2 |
Summary: Development files for mpich-3.2
|
|
|
8e20a2 |
Group: Development/Libraries
|
|
|
8e20a2 |
Provides: mpi-devel
|
|
|
8e20a2 |
Obsoletes: mpich-devel < 3.0.4-9
|
|
|
8e20a2 |
Requires: mpich-3.2 = %{version}-%{release}
|
|
|
8e20a2 |
Requires: pkgconfig
|
|
|
8e20a2 |
Requires: gcc-gfortran
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.2-devel
|
|
|
8e20a2 |
Contains development headers and libraries for mpich 3.2.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.2-doc
|
|
|
8e20a2 |
Summary: Documentations and examples for mpich 3.2
|
|
|
8e20a2 |
Group: Documentation
|
|
|
8e20a2 |
BuildArch: noarch
|
|
|
8e20a2 |
Obsoletes: mpich-doc < 3.0.4-9
|
|
|
8e20a2 |
Requires: mpich-3.2-devel = %{version}-%{release}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.2-doc
|
|
|
8e20a2 |
Contains documentations, examples and manpages for mpich 3.2.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.0
|
|
|
8e20a2 |
Summary: MPICH 3.0.x implementation of MPI
|
|
|
8e20a2 |
Group: Development/Libraries
|
|
|
8e20a2 |
Version: 3.0.4
|
|
|
8e20a2 |
Release: 10%{?dist}
|
|
|
8e20a2 |
Obsoletes: mpich2 < 1.5-4
|
|
|
8e20a2 |
Obsoletes: mpich-libs < 1.1.1
|
|
|
8e20a2 |
Obsoletes: mpich-mpd < 1.4.1
|
|
|
8e20a2 |
Obsoletes: mpich < 3.0.4-9
|
|
|
8e20a2 |
Provides: mpi
|
|
|
8e20a2 |
Provides: mpich = %{version}-%{release}
|
|
|
8e20a2 |
Provides: mpich%{?_isa} = %{version}-%{release}
|
|
|
8e20a2 |
Requires: environment-modules
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.0
|
|
|
8e20a2 |
%{common_desc}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
This package provides compatibility for applications compiled with MPICH 3.0.4.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.0-autoload
|
|
|
8e20a2 |
Summary: Load mpich 3.0 automatically into profile
|
|
|
8e20a2 |
Group: System Environment/Base
|
|
|
8e20a2 |
Version: %{version}
|
|
|
8e20a2 |
Release: %{release}
|
|
|
8e20a2 |
Obsoletes: mpich-autoload < 3.0.4-9
|
|
|
8e20a2 |
Provides: mpich-autoload = %{version}-%{release}
|
|
|
8e20a2 |
Requires: mpich-3.0 = %{version}-%{release}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.0-autoload
|
|
|
8e20a2 |
This package contains profile files that make mpich 3.0 automatically loaded.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.0-devel
|
|
|
8e20a2 |
Summary: Development files for mpich-3.0
|
|
|
8e20a2 |
Group: Development/Libraries
|
|
|
8e20a2 |
Version: %{version}
|
|
|
8e20a2 |
Release: %{release}
|
|
|
8e20a2 |
Provides: mpi-devel
|
|
|
8e20a2 |
Obsoletes: mpich-devel < 3.0.4-9
|
|
|
8e20a2 |
Provides: mpich-devel = %{version}-%{release}
|
|
|
8e20a2 |
Requires: mpich-3.0 = %{version}-%{release}
|
|
|
8e20a2 |
Requires: pkgconfig
|
|
|
8e20a2 |
Requires: gcc-gfortran
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.0-devel
|
|
|
8e20a2 |
Contains development headers and libraries for mpich 3.0.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%package 3.0-doc
|
|
|
8e20a2 |
Summary: Documentations and examples for mpich 3.0
|
|
|
8e20a2 |
Group: Documentation
|
|
|
8e20a2 |
Version: %{version}
|
|
|
8e20a2 |
Release: %{release}
|
|
|
8e20a2 |
BuildArch: noarch
|
|
|
8e20a2 |
Obsoletes: mpich-doc < 3.0.4-9
|
|
|
8e20a2 |
Provides: mpich-doc = %{version}-%{release}
|
|
|
8e20a2 |
Requires: mpich-3.0-devel = %{version}-%{release}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%description 3.0-doc
|
|
|
8e20a2 |
Contains documentations, examples and manpages for mpich 3.0.
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# We only compile with gcc, but other people may want other compilers.
|
|
|
8e20a2 |
# Set the compiler here.
|
|
|
8e20a2 |
%{!?opt_cc: %global opt_cc gcc}
|
|
|
8e20a2 |
%{!?opt_fc: %global opt_fc gfortran}
|
|
|
8e20a2 |
%{!?opt_f77: %global opt_f77 gfortran}
|
|
|
8e20a2 |
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
|
|
|
8e20a2 |
# so uncomment and undefine to NOT use
|
|
|
8e20a2 |
%{!?opt_cc_cflags: %global opt_cc_cflags %{optflags}}
|
|
|
8e20a2 |
%{!?opt_fc_fflags: %global opt_fc_fflags %{optflags}}
|
|
|
8e20a2 |
#%{!?opt_fc_fflags: %global opt_fc_fflags %{optflags} -I%{_fmoddir}}
|
|
|
8e20a2 |
%{!?opt_f77_fflags: %global opt_f77_fflags %{optflags}}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%prep
|
|
|
8e20a2 |
%setup -q -b 100
|
|
|
8e20a2 |
%patch1 -p1
|
|
|
8e20a2 |
%patch2 -p1
|
|
|
8e20a2 |
%patch3 -p1
|
|
|
8e20a2 |
%patch4 -p1
|
|
|
8e20a2 |
%patch5 -p1
|
|
|
8e20a2 |
%patch6 -p1
|
|
|
8e20a2 |
%patch7 -p1
|
|
|
8e20a2 |
%patch8 -p1
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# bundled knem module
|
|
|
8e20a2 |
rm -r contrib/
|
|
|
8e20a2 |
# bundled YAML::Tiny
|
|
|
8e20a2 |
rm -r maint/local_perl/
|
|
|
8e20a2 |
# bundled hwloc
|
|
|
8e20a2 |
rm -r src/pm/hydra/tools/topo/hwloc/hwloc/
|
|
|
8e20a2 |
# HTML manpages
|
|
|
8e20a2 |
rm -r www/
|
|
|
8e20a2 |
|
|
|
8e20a2 |
./autogen.sh
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
cd mpich-3.0.4
|
|
|
8e20a2 |
%patch100 -p1 -b .rh
|
|
|
8e20a2 |
|
|
|
8e20a2 |
./autogen.sh
|
|
|
8e20a2 |
cd src/pm/hydra && ./autogen.sh && cd ../../..
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%build
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch s390
|
|
|
8e20a2 |
%global m_option -m31
|
|
|
8e20a2 |
%else
|
|
|
8e20a2 |
%global m_option -m%{__isa_bits}
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch %{arm} aarch64
|
|
|
8e20a2 |
%global m_option ""
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global selected_channels ch3:nemesis
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch %{ix86} x86_64 s390 %{arm} aarch64
|
|
|
8e20a2 |
%global XFLAGS -fPIC
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global variant mpich-3.2
|
|
|
8e20a2 |
%global libname %{variant}
|
|
|
8e20a2 |
%global namearch %{variant}-%{_arch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
cd mpich-3.2
|
|
|
8e20a2 |
%configure \
|
|
|
8e20a2 |
--enable-sharedlibs=gcc \
|
|
|
8e20a2 |
--enable-shared \
|
|
|
8e20a2 |
--enable-static=no \
|
|
|
8e20a2 |
--enable-lib-depend \
|
|
|
8e20a2 |
--disable-rpath \
|
|
|
8e20a2 |
--disable-silent-rules \
|
|
|
8e20a2 |
--enable-fc \
|
|
|
8e20a2 |
--with-device=%{selected_channels} \
|
|
|
8e20a2 |
--with-pm=hydra:gforker \
|
|
|
8e20a2 |
--sysconfdir=%{_sysconfdir}/%{namearch} \
|
|
|
8e20a2 |
--includedir=%{_includedir}/%{namearch} \
|
|
|
8e20a2 |
--bindir=%{_libdir}/%{libname}/bin \
|
|
|
8e20a2 |
--libdir=%{_libdir}/%{libname}/lib \
|
|
|
8e20a2 |
--datadir=%{_datadir}/%{libname} \
|
|
|
8e20a2 |
--mandir=%{_mandir}/%{libname} \
|
|
|
8e20a2 |
--docdir=%{_docdir}/%{libname} \
|
|
|
8e20a2 |
--with-hwloc-prefix=system \
|
|
|
8e20a2 |
FC=%{opt_fc} \
|
|
|
8e20a2 |
F77=%{opt_f77} \
|
|
|
8e20a2 |
CFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
CXXFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
FCFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
FFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
LDFLAGS='-Wl,-z,noexecstack' \
|
|
|
8e20a2 |
MPICH2LIB_CFLAGS="%{?opt_cc_cflags}" \
|
|
|
8e20a2 |
MPICH2LIB_CXXFLAGS="%{optflags}" \
|
|
|
8e20a2 |
MPICH2LIB_FCFLAGS="%{?opt_fc_fflags}" \
|
|
|
8e20a2 |
MPICH2LIB_FFLAGS="%{?opt_f77_fflags}"
|
|
|
8e20a2 |
# MPICH2LIB_LDFLAGS='-Wl,-z,noexecstack' \
|
|
|
8e20a2 |
# MPICH2_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}"
|
|
|
8e20a2 |
# --with-openpa-prefix=embedded \
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}" \
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# Remove rpath
|
|
|
8e20a2 |
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
|
|
8e20a2 |
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
|
|
8e20a2 |
|
|
|
8e20a2 |
make %{?_smp_mflags} V=1
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch s390
|
|
|
8e20a2 |
%global m_option -m31
|
|
|
8e20a2 |
%else
|
|
|
8e20a2 |
%global m_option -m%{__isa_bits}
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch %{arm} aarch64
|
|
|
8e20a2 |
%global m_option ""
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch %{ix86} x86_64
|
|
|
8e20a2 |
%global selected_channels ch3:nemesis
|
|
|
8e20a2 |
%else
|
|
|
8e20a2 |
%global selected_channels ch3:sock
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%ifarch %{ix86} x86_64 s390 %{arm}
|
|
|
8e20a2 |
%global XFLAGS -fPIC
|
|
|
8e20a2 |
%endif
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global variant mpich
|
|
|
8e20a2 |
%global libname %{variant}
|
|
|
8e20a2 |
%global namearch %{variant}-%{_arch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
cd mpich-3.0.4
|
|
|
8e20a2 |
%configure \
|
|
|
8e20a2 |
--enable-sharedlibs=gcc \
|
|
|
8e20a2 |
--enable-shared \
|
|
|
8e20a2 |
--enable-lib-depend \
|
|
|
8e20a2 |
--disable-rpath \
|
|
|
8e20a2 |
--enable-fc \
|
|
|
8e20a2 |
--with-device=%{selected_channels} \
|
|
|
8e20a2 |
--with-pm=hydra:gforker \
|
|
|
8e20a2 |
--sysconfdir=%{_sysconfdir}/%{namearch} \
|
|
|
8e20a2 |
--includedir=%{_includedir}/%{namearch} \
|
|
|
8e20a2 |
--bindir=%{_libdir}/%{libname}/bin \
|
|
|
8e20a2 |
--libdir=%{_libdir}/%{libname}/lib \
|
|
|
8e20a2 |
--datadir=%{_datadir}/%{libname} \
|
|
|
8e20a2 |
--mandir=%{_mandir}/%{libname} \
|
|
|
8e20a2 |
--docdir=%{_docdir}/%{libname} \
|
|
|
8e20a2 |
--with-hwloc-prefix=system \
|
|
|
8e20a2 |
FC=%{opt_fc} \
|
|
|
8e20a2 |
F77=%{opt_f77} \
|
|
|
8e20a2 |
CFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
CXXFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
FCFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
FFLAGS="%{m_option} %{optflags} %{?XFLAGS}" \
|
|
|
8e20a2 |
LDFLAGS='-Wl,-z,noexecstack' \
|
|
|
8e20a2 |
MPICH2LIB_CFLAGS="%{?opt_cc_cflags}" \
|
|
|
8e20a2 |
MPICH2LIB_CXXFLAGS="%{optflags}" \
|
|
|
8e20a2 |
MPICH2LIB_FCFLAGS="%{?opt_fc_fflags}" \
|
|
|
8e20a2 |
MPICH2LIB_FFLAGS="%{?opt_f77_fflags}"
|
|
|
8e20a2 |
# MPICH2LIB_LDFLAGS='-Wl,-z,noexecstack' \
|
|
|
8e20a2 |
# MPICH2_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \
|
|
|
8e20a2 |
# MPICH2_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}"
|
|
|
8e20a2 |
# --with-openpa-prefix=embedded \
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}" \
|
|
|
8e20a2 |
#make %{?_smp_mflags} doesn't work
|
|
|
8e20a2 |
make V=1
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%install
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
|
|
|
8e20a2 |
finish_install() {
|
|
|
8e20a2 |
local VARIANT="$1"
|
|
|
8e20a2 |
local LIBNAME="$VARIANT"
|
|
|
8e20a2 |
local NAMEARCH="$VARIANT-%{_arch}"
|
|
|
8e20a2 |
|
|
|
8e20a2 |
find %{buildroot}%{_libdir}/$LIBNAME/lib -name \*.la -delete
|
|
|
8e20a2 |
mkdir -p %{buildroot}/%{_fmoddir}/$NAMEARCH
|
|
|
8e20a2 |
mkdir -p %{buildroot}%{python_sitearch}/$LIBNAME
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# Make the environment-modules file
|
|
|
8e20a2 |
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi
|
|
|
8e20a2 |
sed "s#@LIBDIR@#%{_libdir}/$LIBNAME#g;
|
|
|
8e20a2 |
s#@ETCDIR@#%{_sysconfdir}/$NAMEARCH#g;
|
|
|
8e20a2 |
s#@FMODDIR@#%{_fmoddir}/$NAMEARCH#g;
|
|
|
8e20a2 |
s#@INCDIR@#%{_includedir}/$NAMEARCH#g;
|
|
|
8e20a2 |
s#@MANDIR@#%{_mandir}/$LIBNAME#g;
|
|
|
8e20a2 |
s#@PYSITEARCH@#%{python_sitearch}/$LIBNAME#g;
|
|
|
8e20a2 |
s#@COMPILER@#$NAMEARCH#g;
|
|
|
8e20a2 |
s#@SUFFIX@#_$LIBNAME#g" \
|
|
|
8e20a2 |
< %SOURCE2 \
|
|
|
8e20a2 |
> %{buildroot}%{_sysconfdir}/modulefiles/mpi/$NAMEARCH
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# Make the profile script for autoload
|
|
|
8e20a2 |
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
|
|
8e20a2 |
cat << EOF > %{buildroot}%{_sysconfdir}/profile.d/$NAMEARCH.sh
|
|
|
8e20a2 |
# Load mpich environment module
|
|
|
8e20a2 |
module load mpi/$NAMEARCH
|
|
|
8e20a2 |
EOF
|
|
|
8e20a2 |
cp -p %{buildroot}%{_sysconfdir}/profile.d/$NAMEARCH.{sh,csh}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
# Make the rpm macro file
|
|
|
8e20a2 |
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
|
|
|
8e20a2 |
# do not expand _arch
|
|
|
8e20a2 |
sed "s#@MACRONAME@#${LIBNAME//[-.]/_}#g;
|
|
|
8e20a2 |
s#@MODULENAME@#$VARIANT-%%{_arch}#" \
|
|
|
8e20a2 |
< %SOURCE1 \
|
|
|
8e20a2 |
> %{buildroot}/%{_sysconfdir}/rpm/macros.$LIBNAME
|
|
|
8e20a2 |
}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
cd mpich-3.2
|
|
|
8e20a2 |
%make_install
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
finish_install mpich-3.2
|
|
|
8e20a2 |
|
|
|
8e20a2 |
cd mpich-3.0.4
|
|
|
8e20a2 |
%make_install
|
|
|
8e20a2 |
cd ..
|
|
|
8e20a2 |
finish_install mpich
|
|
|
8e20a2 |
rm -f %{buildroot}%{_libdir}/mpich/lib/lib{*mpich*,opa,mpl}.a
|
|
|
8e20a2 |
ln -s mpich-%{_arch} %{buildroot}%{_sysconfdir}/modulefiles/mpi/mpich-3.0-%{_arch}
|
|
|
8e20a2 |
ln -s mpich-%{_arch} %{buildroot}%{_sysconfdir}/mpich-3.0-%{_arch}
|
|
|
8e20a2 |
# Silence rpmlint
|
|
|
8e20a2 |
sed -i '/^#! \//,1 d' %{buildroot}%{_sysconfdir}/mpich-%{_arch}/mpi*.conf
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global variant mpich-3.2
|
|
|
8e20a2 |
%global libname %{variant}
|
|
|
8e20a2 |
%global namearch %{variant}-%{_arch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.2
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%doc CHANGES COPYRIGHT README RELEASE_NOTES
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}/lib
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}/bin
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/*.so.*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/hydra*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpichversion
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpiexec*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpirun
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpivars
|
|
|
8e20a2 |
%dir %{python_sitearch}/%{libname}
|
|
|
8e20a2 |
%dir %{_fmoddir}/%{namearch}
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/parkill
|
|
|
8e20a2 |
%dir %{_mandir}/%{libname}
|
|
|
8e20a2 |
%dir %{_mandir}/%{libname}/man1
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpiexec*
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/hydra*
|
|
|
8e20a2 |
%dir %{_sysconfdir}/modulefiles/mpi
|
|
|
8e20a2 |
%{_sysconfdir}/modulefiles/mpi/%{namearch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.2-autoload
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_sysconfdir}/profile.d/%{namearch}.*
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.2-devel
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpicc
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpicxx
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpic++
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpif*
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpic*
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpif*
|
|
|
8e20a2 |
%{_includedir}/%{namearch}/
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/*.so
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/pkgconfig/
|
|
|
8e20a2 |
%config %{_sysconfdir}/rpm/macros.%{libname}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.2-doc
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_docdir}/%{libname}
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man3/
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%global variant mpich
|
|
|
8e20a2 |
%global libname %{variant}
|
|
|
8e20a2 |
%global namearch %{variant}-%{_arch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.0
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%doc COPYRIGHT
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}/lib
|
|
|
8e20a2 |
%dir %{_libdir}/%{libname}/bin
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/*.so.*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/hydra*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpichversion
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpiexec*
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpirun
|
|
|
8e20a2 |
%dir %{python_sitearch}/%{libname}
|
|
|
8e20a2 |
%dir %{_fmoddir}/%{namearch}
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/parkill
|
|
|
8e20a2 |
%dir %{_mandir}/%{libname}
|
|
|
8e20a2 |
%dir %{_mandir}/%{libname}/man1
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpiexec*
|
|
|
8e20a2 |
%dir %{_sysconfdir}/modulefiles/mpi
|
|
|
8e20a2 |
%{_sysconfdir}/modulefiles/mpi/%{namearch}
|
|
|
8e20a2 |
%{_sysconfdir}/modulefiles/mpi/mpich-3.0-%{_arch}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.0-autoload
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_sysconfdir}/profile.d/%{namearch}.*
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.0-devel
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpicc
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpicxx
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpic++
|
|
|
8e20a2 |
%{_libdir}/%{libname}/bin/mpif*
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpic*
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man1/mpif*
|
|
|
8e20a2 |
%config %{_sysconfdir}/%{namearch}/
|
|
|
8e20a2 |
%{_sysconfdir}/mpich-3.0-%{_arch}
|
|
|
8e20a2 |
%{_includedir}/%{namearch}/
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/*.so
|
|
|
8e20a2 |
%{_libdir}/%{libname}/lib/pkgconfig/
|
|
|
8e20a2 |
%config %{_sysconfdir}/rpm/macros.%{libname}
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%files 3.0-doc
|
|
|
8e20a2 |
%defattr(-,root,root,-)
|
|
|
8e20a2 |
%{_docdir}/%{libname}
|
|
|
8e20a2 |
%{_mandir}/%{libname}/man3/
|
|
|
8e20a2 |
|
|
|
8e20a2 |
%changelog
|
|
|
8e20a2 |
* Fri Jul 29 2016 Michal Schmidt <mschmidt@redhat.com> - 3.2-2
|
|
|
8e20a2 |
- Remove bad rpath in two binaries in mpich-3.2.
|
|
|
8e20a2 |
- Restore trimming of shebang lines in config files in mpich-3.0-devel.
|
|
|
8e20a2 |
- Related: rhbz1091532
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Wed Jun 22 2016 Michal Schmidt <mschmidt@redhat.com> - 3.2-1
|
|
|
8e20a2 |
- Update to upstream version mpich-3.2 with patches from Fedora.
|
|
|
8e20a2 |
- Keep 3.0.4 as 'mpich-3.0' for backwards compatibility.
|
|
|
8e20a2 |
- Resolves: rhbz1091532
|
|
|
8e20a2 |
- Resolves: rhbz1142117
|
|
|
8e20a2 |
- Resolves: rhbz1148992
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Wed Sep 10 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 3.0.4-8
|
|
|
8e20a2 |
- Do not use -m64 on AArch64
|
|
|
8e20a2 |
Resolves: rhbz1077315
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Mon Mar 3 2014 Jay Fenlason <fenlason@redhat.com> - 3.0.4-7
|
|
|
8e20a2 |
- Update build flags to fix
|
|
|
8e20a2 |
Resolves: rhbz1070778
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 3.0.4-6
|
|
|
8e20a2 |
- Mass rebuild 2014-01-24
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3.0.4-5
|
|
|
8e20a2 |
- Mass rebuild 2013-12-27
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Fri Oct 4 2013 Jay Fenlason <fenlason@redhat.com> 3.0.4-4.el7
|
|
|
8e20a2 |
- Fix the module file to contain all the definitions we expect.
|
|
|
8e20a2 |
Resolves: rhbz1001469
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Wed Oct 2 2013 Jay Fenlason <fenlason@redhat.com> 3.0.4-3.el7
|
|
|
8e20a2 |
- Fix macros.mpich
|
|
|
8e20a2 |
Resolves: rhbz1001469
|
|
|
8e20a2 |
|
|
|
8e20a2 |
* Fri Sep 6 2013 Jay Fenlason <fenlason@redhat.com> 3.0.4-1.el7
|
|
|
8e20a2 |
- Initial import for RHEL, using sanitized source tarball.
|
|
|
8e20a2 |
|