3 %bcond_with blcr # blcr application checkpointing support (no support for recent kernels)
5 Summary: Portable MPI Model Implementation
6 Summary(pl.UTF-8): Przenośna implementacja standardu MPI
11 Group: Development/Libraries
12 Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
13 # Source0-md5: 2ab544607986486562e076b83937bba2
14 Patch0: %{name}-sh.patch
15 Patch1: x32-misdetected-as-i386.patch
16 URL: https://www.mpich.org/
17 BuildRequires: autoconf >= 2.63
18 BuildRequires: automake >= 1:1.12.3
19 %{?with_blcr:BuildRequires: blcr-devel}
20 BuildRequires: ftb-devel
21 BuildRequires: gcc-fortran
22 BuildRequires: hwloc-devel >= 1.9.0
23 BuildRequires: libstdc++-devel
24 BuildRequires: libtool >= 2:2
25 BuildRequires: openpa-devel
26 BuildRequires: rpmbuild(macros) >= 1.750
27 Requires: hwloc-libs >= 1.9.0
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 MPICH is a high-performance and widely portable implementation of the
33 MPI-3.0 standard from the Argonne National Laboratory. This release
34 has all MPI 3.0 functions and features required by the standard with
35 the exception of support for the "external32" portable I/O format and
36 user-defined data representations for I/O.
38 This package contains MPICH shared libraries and runtime utilities,
41 %description -l pl.UTF-8
42 MPICH to wysoko wydajna i przenośna implementacja standardu MPI-3.0
43 pochodząca z Argonne National Laboratory. To wydanie zawiera całą
44 funkcjonalność i możliwości MPI 3.0 wymagane przez standard z
45 wyjątkiem obsługi przenośnego formatu we-wy "external32" oraz
46 definiowanych przez użytkownika reprezentacji danych dla we/wy.
48 Ten pakiet zawiera biblioteki współdzielone MPICH oraz narzędzia
49 uruchomieniowe, w tym Hydra PM.
52 Summary: MPICH header files and development tools
53 Summary(pl.UTF-8): Pliki nagłówkowe oraz narzędzia programistyczne MPICH
54 Group: Development/Libraries
55 Requires: %{name} = %{version}-%{release}
56 Requires: openpa-devel
60 MPICH header files and development tools.
63 Pliki nagłówkowe oraz narzędzia programistyczne MPICH.
66 Summary: MPICH static libraries
67 Summary(pl.UTF-8): Biblioteki statyczne MPICH
68 Group: Development/Libraries
69 Requires: %{name}-devel = %{version}-%{release}
73 MPICH static libraries.
75 %description static -l pl.UTF-8
76 Biblioteki statyczne MPICH.
79 Summary: MPICH C++ library
80 Summary(pl.UTF-8): Biblioteka MPICH dla C++
82 Requires: %{name} = %{version}-%{release}
88 %description c++ -l pl.UTF-8
89 Biblioteka MPICH dla C++.
92 Summary: MPICH C++ development package
93 Summary(pl.UTF-8): Pakiet programistyczny MPICH dla C++
94 Group: Development/Libraries
95 Requires: %{name}-c++ = %{version}-%{release}
96 Requires: %{name}-devel = %{version}-%{release}
97 Requires: libstdc++-devel
98 Provides: mpi-c++-devel
100 %description c++-devel
101 MPICH C++ development package.
103 %description c++-devel -l pl.UTF-8
104 Pakiet programistyczny MPICH dla C++.
107 Summary: MPICH C++ static library
108 Summary(pl.UTF-8): Biblioteka statyczna MPICH dla C++
109 Group: Development/Libraries
110 Requires: %{name}-c++-devel = %{version}-%{release}
111 Provides: mpi-c++-static
113 %description c++-static
114 MPICH C++ static library.
116 %description c++-static -l pl.UTF-8
117 Biblioteka statyczna MPICH dla C++.
120 Summary: MPICH Fortran library
121 Summary(pl.UTF-8): Biblioteka MPICH dla Fortranu
123 Requires: %{name} = %{version}-%{release}
124 Provides: mpi-fortran
127 MPICH Fortran library.
129 %description fortran -l pl.UTF-8
130 Biblioteka MPICH dla Fortranu.
132 %package fortran-devel
133 Summary: MPICH Fortran development package
134 Summary(pl.UTF-8): Pakiet programistyczny MPICH dla Fortranu
135 Group: Development/Libraries
136 Requires: %{name}-devel = %{version}-%{release}
137 Requires: %{name}-fortran = %{version}-%{release}
138 Requires: gcc-fortran
139 Provides: mpi-fortran-devel
141 %description fortran-devel
142 MPICH Fortran development package.
144 %description fortran-devel -l pl.UTF-8
145 Pakiet programistyczny MPICH dla Fortranu.
147 %package fortran-static
148 Summary: MPICH Fortran static library
149 Summary(pl.UTF-8): Biblioteka statyczna MPICH dla Fortranu
150 Group: Development/Libraries
151 Requires: %{name}-fortran-devel = %{version}-%{release}
152 Provides: mpi-fortran-static
154 %description fortran-static
155 MPICH Fortran static library.
157 %description fortran-static -l pl.UTF-8
158 Biblioteka statyczna MPICH dla Fortranu.
167 %{__aclocal} -I confdb
171 %define gfortran_version %(gfortran -dumpversion)
172 %if "%{_ver_ge '%{gfortran_version}' '10.0'}" == "1"
173 FFLAGS="%{rpmcflags} -fallow-argument-mismatch"
174 FCFLAGS="%{rpmcflags} -fallow-argument-mismatch"
177 --disable-silent-rules \
178 %{?with_blcr:--enable-checkpointing} \
179 --with-hwloc-prefix=system \
180 %{!?with_blcr:--with-hydra-ckpointlib=none} \
181 --with-openpa-prefix=system
186 rm -rf $RPM_BUILD_ROOT
189 DESTDIR=$RPM_BUILD_ROOT
191 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
192 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
193 %{__rm} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/{cpi,cpi.o,examples.sln}
196 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libopa.so
198 # PDFs packaged as %doc
199 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mpich
202 rm -rf $RPM_BUILD_ROOT
204 %post -p /sbin/ldconfig
205 %postun -p /sbin/ldconfig
207 %post c++ -p /sbin/ldconfig
208 %postun c++ -p /sbin/ldconfig
210 %post fortran -p /sbin/ldconfig
211 %postun fortran -p /sbin/ldconfig
214 %defattr(644,root,root,755)
215 %doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES doc/{installguide/install.pdf,logging/logging.pdf,userguide/user.pdf}
216 %attr(755,root,root) %{_bindir}/hydra_nameserver
217 %attr(755,root,root) %{_bindir}/hydra_persist
218 %attr(755,root,root) %{_bindir}/hydra_pmi_proxy
219 %attr(755,root,root) %{_bindir}/mpichversion
220 %attr(755,root,root) %{_bindir}/mpiexec
221 %attr(755,root,root) %{_bindir}/mpiexec.hydra
222 %attr(755,root,root) %{_bindir}/mpirun
223 %attr(755,root,root) %{_bindir}/mpivars
224 %attr(755,root,root) %{_bindir}/parkill
225 %attr(755,root,root) %{_libdir}/libmpi.so.*.*.*
226 %attr(755,root,root) %ghost %{_libdir}/libmpi.so.12
227 %{_mandir}/man1/hydra_nameserver.1*
228 %{_mandir}/man1/hydra_persist.1*
229 %{_mandir}/man1/hydra_pmi_proxy.1*
230 %{_mandir}/man1/mpiexec.1*
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_bindir}/mpicc
235 %attr(755,root,root) %{_libdir}/libmpi.so
236 %attr(755,root,root) %{_libdir}/libmpich.so
237 %attr(755,root,root) %{_libdir}/libmpl.so
240 %{_includedir}/mpio.h
241 %{_pkgconfigdir}/mpich.pc
242 %{_mandir}/man1/mpicc.1*
243 %{_mandir}/man3/MPIX_*.3*
244 %{_mandir}/man3/MPI_*.3*
245 %{_examplesdir}/%{name}-%{version}
248 %defattr(644,root,root,755)
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_libdir}/libmpicxx.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libmpicxx.so.12
257 %defattr(644,root,root,755)
258 %attr(755,root,root) %{_bindir}/mpic++
259 %attr(755,root,root) %{_bindir}/mpicxx
260 %attr(755,root,root) %{_libdir}/libmpicxx.so
261 %attr(755,root,root) %{_libdir}/libmpichcxx.so
262 %{_libdir}/libmpicxx.la
263 %{_includedir}/mpicxx.h
264 %{_mandir}/man1/mpicxx.1*
267 %defattr(644,root,root,755)
268 %{_libdir}/libmpicxx.a
271 %defattr(644,root,root,755)
272 %attr(755,root,root) %{_libdir}/libmpifort.so.*.*.*
273 %attr(755,root,root) %ghost %{_libdir}/libmpifort.so.12
276 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_bindir}/mpif77
278 %attr(755,root,root) %{_bindir}/mpif90
279 %attr(755,root,root) %{_bindir}/mpifort
280 %attr(755,root,root) %{_libdir}/libmpifort.so
281 %attr(755,root,root) %{_libdir}/libfmpich.so
282 %attr(755,root,root) %{_libdir}/libmpichf90.so
283 %{_libdir}/libmpifort.la
284 %{_includedir}/mpif.h
285 %{_includedir}/mpiof.h
286 %{_includedir}/mpi*.mod
287 %{_mandir}/man1/mpif77.1*
288 %{_mandir}/man1/mpifort.1*
290 %files fortran-static
291 %defattr(644,root,root,755)
292 %{_libdir}/libmpifort.a