diff --git a/scalapack-2.0.2-fedora-blas.patch b/scalapack-2.0.2-fedora-blas.patch new file mode 100644 index 0000000000000000000000000000000000000000..f193fe20e34c371fb8cba8cbbd46b5210260e7b3 --- /dev/null +++ b/scalapack-2.0.2-fedora-blas.patch @@ -0,0 +1,20 @@ +diff -up scalapack-2.0.2/scalapack-2.0.2/Makefile.blas scalapack-2.0.2/scalapack-2.0.2/Makefile +--- scalapack-2.0.2/scalapack-2.0.2/Makefile.blas 2016-11-29 11:41:05.255948495 +0100 ++++ scalapack-2.0.2/scalapack-2.0.2/Makefile 2016-11-29 11:41:18.305948495 +0100 +@@ -108,4 +108,4 @@ cleanexample: + ( cd EXAMPLE; $(MAKE) clean ) + + shared: scalapacklib +- ( mkdir tmp ; cp $(SCALAPACKLIB) tmp ; cd tmp ; ar x $(SCALAPACKLIB) ; $(CC) -shared -o ../libscalapack.so.2.0.0 *.o *.oo -Wl,-soname=libscalapack.so.2 -lopenblas -L.. -lm -lgfortran ; cd .. ) ++ ( mkdir tmp ; cp $(SCALAPACKLIB) tmp ; cd tmp ; ar x $(SCALAPACKLIB) ; $(CC) -shared -o ../libscalapack.so.2.0.0 *.o *.oo -Wl,-soname=libscalapack.so.2 -lblas -llapack -L.. -lm -lgfortran ; cd .. ) +diff -up scalapack-2.0.2/scalapack-2.0.2/SLmake.inc.blas scalapack-2.0.2/scalapack-2.0.2/SLmake.inc +--- scalapack-2.0.2/scalapack-2.0.2/SLmake.inc.blas 2016-11-29 11:41:10.475948495 +0100 ++++ scalapack-2.0.2/scalapack-2.0.2/SLmake.inc 2016-11-29 11:41:25.785948495 +0100 +@@ -56,6 +56,6 @@ SCALAPACKLIB = libscalapack.a + # BLAS, LAPACK (and possibly other) libraries needed for linking test programs + # + +-BLASLIB = -lopenblas ++BLASLIB = -lblas + LAPACKLIB = -llapack + LIBS = $(LAPACKLIB) $(BLASLIB) diff --git a/scalapack-2.0.2-fedora.patch b/scalapack-2.0.2-fedora.patch new file mode 100644 index 0000000000000000000000000000000000000000..d7818320b581262998b5dbc94d25896af577a01b --- /dev/null +++ b/scalapack-2.0.2-fedora.patch @@ -0,0 +1,83 @@ +diff -up scalapack-2.0.2/scalapack-2.0.2/Makefile.fedora scalapack-2.0.2/scalapack-2.0.2/Makefile +--- scalapack-2.0.2/scalapack-2.0.2/Makefile.fedora 2014-02-12 11:09:48.585913344 -0500 ++++ scalapack-2.0.2/scalapack-2.0.2/Makefile 2014-02-12 11:11:45.726759063 -0500 +@@ -49,7 +49,7 @@ PRECISIONS = single double complex compl + + all: lib exe example + +-lib: blacslib toolslib pblaslib redistlib scalapacklib ++lib: blacslib toolslib pblaslib redistlib scalapacklib shared + + exe: blacsexe pblasexe redistexe scalapackexe + +@@ -107,3 +107,5 @@ cleanlib: + cleanexample: + ( cd EXAMPLE; $(MAKE) clean ) + ++shared: scalapacklib ++ ( mkdir tmp ; cp $(SCALAPACKLIB) tmp ; cd tmp ; ar x $(SCALAPACKLIB) ; $(CC) -shared -o ../libscalapack.so.2.0.0 *.o *.oo -Wl,-soname=libscalapack.so.2 -lopenblas -L.. -lm -lgfortran ; cd .. ) +diff -up scalapack-2.0.2/scalapack-2.0.2/SLmake.inc.fedora scalapack-2.0.2/scalapack-2.0.2/SLmake.inc +--- scalapack-2.0.2/scalapack-2.0.2/SLmake.inc.fedora 2014-02-12 11:19:04.618179216 -0500 ++++ scalapack-2.0.2/scalapack-2.0.2/SLmake.inc 2014-02-12 11:19:00.675184482 -0500 +@@ -0,0 +1,61 @@ ++############################################################################ ++# ++# Program: ScaLAPACK ++# ++# Module: SLmake.inc ++# ++# Purpose: Top-level Definitions ++# ++# Creation date: February 15, 2000 ++# ++# Modified: October 13, 2011 ++# ++# Send bug reports, comments or suggestions to scalapack@cs.utk.edu ++# ++############################################################################ ++# ++# C preprocessor definitions: set CDEFS to one of the following: ++# ++# -DNoChange (fortran subprogram names are lower case without any suffix) ++# -DUpCase (fortran subprogram names are upper case without any suffix) ++# -DAdd_ (fortran subprogram names are lower case with "_" appended) ++ ++CDEFS = -DAdd_ ++ ++# ++# The fortran and C compilers, loaders, and their flags ++# ++ ++FC = mpif90 ++CC = mpicc ++NOOPT = -fPIC ++FCFLAGS = $(RPM_OPT_FLAGS) -fPIC ++CFLAGS = $(RPM_OPT_FLAGS) -fPIC ++CCFLAGS = $(RPM_OPT_FLAGS) -fPIC ++FCLOADER = $(FC) ++CCLOADER = $(CC) ++FCLOADFLAGS = $(FCFLAGS) ++CCLOADFLAGS = $(CCFLAGS) ++ ++# ++# The archiver and the flag(s) to use when building archive (library) ++# Also the ranlib routine. If your system has no ranlib, set RANLIB = echo ++# ++ ++ARCH = ar ++ARCHFLAGS = cr ++RANLIB = ranlib ++ ++# ++# The name of the ScaLAPACK library to be created ++# ++ ++SCALAPACKLIB = libscalapack.a ++ ++# ++# BLAS, LAPACK (and possibly other) libraries needed for linking test programs ++# ++ ++BLASLIB = -lopenblas ++LAPACKLIB = -llapack ++LIBS = $(LAPACKLIB) $(BLASLIB) diff --git a/scalapack-2.0.2-missing-functions.patch b/scalapack-2.0.2-missing-functions.patch new file mode 100644 index 0000000000000000000000000000000000000000..db0d488e2585f571d88f13aa5da913cbf82a2a1d --- /dev/null +++ b/scalapack-2.0.2-missing-functions.patch @@ -0,0 +1,38 @@ +--- scalapack-2.0.2/scalapack-2.0.2/SRC/Makefile (revision 199) ++++ scalapack-2.0.2/scalapack-2.0.2/SRC/Makefile (working copy) +@@ -94,7 +94,7 @@ + sdbtf2.o sdbtrf.o sdttrf.o sdttrsv.o spttrsv.o strmvt.o pssyevr.o \ + bslaapp.o bslaexc.o bstrexc.o pstrord.o pstrsen.o psgebal.o pshseqr.o \ + pslamve.o pslaqr0.o pslaqr1.o pslaqr2.o pslaqr3.o pslaqr4.o pslaqr5.o \ +- psrot.o slaqr6.o ++ psrot.o slaqr6.o pstrcon.o pstrrfs.o + + CLASRC = \ + pcdbsv.o pcdbtrf.o pcdbtrs.o pcdbtrsv.o \ +@@ -125,7 +125,7 @@ + pclattrs.o \ + pcunmr3.o pcunmrz.o pcmax1.o pscsum1.o pclamr1d.o \ + cdbtf2.o cdbtrf.o cdttrf.o cdttrsv.o cpttrsv.o csteqr2.o ctrmvt.o \ +- clamsh.o claref.o clanv2.o clahqr2.o pcheevr.o ++ clamsh.o claref.o clanv2.o clahqr2.o pcheevr.o pctrcon.o pctrrfs.o + + DLASRC = \ + pddbsv.o pddbtrf.o pddbtrs.o pddbtrsv.o \ +@@ -157,7 +157,7 @@ + ddbtf2.o ddbtrf.o ddttrf.o ddttrsv.o dpttrsv.o dtrmvt.o pdsyevr.o \ + bdlaapp.o bdlaexc.o bdtrexc.o dlaqr6.o pdtrord.o \ + pdtrsen.o pdgebal.o pdhseqr.o pdlamve.o pdlaqr0.o pdlaqr1.o pdlaqr2.o \ +- pdlaqr3.o pdlaqr4.o pdlaqr5.o pdrot.o ++ pdlaqr3.o pdlaqr4.o pdlaqr5.o pdrot.o pdtrcon.o pdtrrfs.o + + ZLASRC = \ + pzdbsv.o pzdbtrf.o pzdbtrs.o pzdbtrsv.o \ +@@ -188,7 +188,7 @@ + pzlarzb.o pzlarzt.o pzlarz.o pzlarzc.o pzlatrz.o pztzrzf.o \ + pzunmr3.o pzunmrz.o pzmax1.o pdzsum1.o pzlamr1d.o \ + zdbtf2.o zdbtrf.o zdttrf.o zdttrsv.o zpttrsv.o zsteqr2.o ztrmvt.o \ +- zlamsh.o zlaref.o zlanv2.o zlahqr2.o pzheevr.o ++ zlamsh.o zlaref.o zlanv2.o zlahqr2.o pzheevr.o pztrcon.o pztrrfs.o + + all: single complex double complex16 + diff --git a/scalapack-2.0.2-shared-blacs.patch b/scalapack-2.0.2-shared-blacs.patch new file mode 100644 index 0000000000000000000000000000000000000000..cbd2bfc8f42b446a7c8552b87623b1b29e8323e9 --- /dev/null +++ b/scalapack-2.0.2-shared-blacs.patch @@ -0,0 +1,12 @@ +diff -up scalapack-2.0.2/scalapack-2.0.2/BLACS/SRC/Makefile.shared scalapack-2.0.2/scalapack-2.0.2/BLACS/SRC/Makefile +--- scalapack-2.0.2/scalapack-2.0.2/BLACS/SRC/Makefile.shared 2014-05-03 09:57:18.423192929 -0400 ++++ scalapack-2.0.2/scalapack-2.0.2/BLACS/SRC/Makefile 2014-05-03 09:57:14.128198052 -0400 +@@ -71,6 +71,8 @@ $(Fintobj): Bdef.h Bconfig.h + all : $(internal) $(Fintobj) $(Cintobj) + $(ARCH) $(ARCHFLAGS) ../../$(SCALAPACKLIB) $(internal) $(Fintobj) $(Cintobj) + $(RANLIB) ../../$(SCALAPACKLIB) ++ cp -a ../../$(SCALAPACKLIB) ../../libmpiblacs.a ++ ( mkdir tmp ; cp ../../$(SCALAPACKLIB) tmp ; cd tmp ; ar x $(SCALAPACKLIB) ; mpif77 -shared -o ../../../libmpiblacs.so.2.0.0 *.o *.oo -Wl,-soname=libmpiblacs.so.2 ; ln -s libmpiblacs.so.2.0.0 ../../../libmpiblacs.so.2 ; ln -s libmpiblacs.so.2.0.0 ../../../libmpiblacs.so ; cd .. ) + + # ----------------------- + # Delete the object files diff --git a/scalapack-2.0.2.tgz b/scalapack-2.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6bfaa9b5ee48b318c1dcea53b8a2e75e25679245 Binary files /dev/null and b/scalapack-2.0.2.tgz differ diff --git a/scalapack.spec b/scalapack.spec new file mode 100644 index 0000000000000000000000000000000000000000..ea2487e27b60e37320be68ad3fcd8dcd5aece06a --- /dev/null +++ b/scalapack.spec @@ -0,0 +1,409 @@ +%bcond_without openmpi + +# openmpi3 only exists in RHEL7 +# and not on ppc ppc64 +%if 0%{?rhel} == 7 +%ifarch ppc ppc64 + %bcond_with openmpi3 +%else + %bcond_without openmpi3 +%endif +%else + %bcond_with openmpi3 +%endif + +%if 0%{?rhel} && 0%{?rhel} < 7 +%ifarch ppc ppc64 s390 s390x + # No mpich in RHEL < 7 for these arches + %bcond_with mpich +%else + %bcond_without mpich +%endif +%else + # Enable mpich on RHEL >= 7 and on Fedora + %bcond_without mpich +%endif + +%{!?openblas_arches:%global openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64} +%ifarch %{openblas_arches} +# matches openblas ExclusiveArch +%bcond_without openblas +%endif + +Summary: A subset of LAPACK routines redesigned for heterogeneous computing +Name: scalapack +Version: 2.0.2 +Release: 31 +# This is freely distributable without any restrictions. +License: Public Domain +URL: http://www.netlib.org/scalapack/ +Source0: http://www.netlib.org/scalapack/scalapack-%{version}.tgz +%if %{with openblas} +BuildRequires: openblas-devel +%else +BuildRequires: lapack-devel +BuildRequires: blas-devel +%endif +BuildRequires: gcc-gfortran, glibc-devel +%if %{with mpich} +%if 0%{?rhel} && 0%{?rhel} <= 7 +BuildRequires: mpich-devel +%else +BuildRequires: mpich-devel-static +%endif +%endif +%if %{with openmpi} +BuildRequires: openmpi-devel +%endif +%if %{with openmpi3} +BuildRequires: openmpi3-devel +%endif +# Build shared-library for ScaLAPACK +Patch0: scalapack-2.0.2-fedora.patch +# Build shared library for BLACS +Patch1: scalapack-2.0.2-shared-blacs.patch +# Add missing functions +Patch2: scalapack-2.0.2-missing-functions.patch +# Still use blas if openblas is not available +Patch3: scalapack-2.0.2-fedora-blas.patch + +%description +The ScaLAPACK (or Scalable LAPACK) library includes a subset +of LAPACK routines redesigned for distributed memory MIMD +parallel computers. + +%package -n blacs-common +Summary: Common files for blacs + +%description -n blacs-common +The BLACS (Basic Linear Algebra Communication Subprograms) project is +an ongoing investigation whose purpose is to create a linear algebra +oriented message passing interface that may be implemented efficiently +and uniformly across a large range of distributed memory platforms. + +%package common +Summary: Common files for scalapack + +%description common +The ScaLAPACK (or Scalable LAPACK) library includes a subset +of LAPACK routines redesigned for distributed memory MIMD +parallel computers. +%if %{with mpich} + +%package -n blacs-mpich +Summary: BLACS libraries compiled against mpich +Requires: blacs-common = %{version}-%{release} +Provides: blacs-mpich2 = %{version}-%{release} +Obsoletes: blacs-mpich2 < 1.1-50 +Requires: mpich + +%description -n blacs-mpich +This package contains BLACS libraries compiled with mpich. + +%package -n blacs-mpich-devel +Summary: Development libraries for blacs (mpich) +Requires: blacs-mpich = %{version}-%{release} +Provides: blacs-mpich2-devel = %{version}-%{release} +Obsoletes: blacs-mpich2-devel < 1.1-50 +Requires: mpich-devel + +%description -n blacs-mpich-devel +This package contains development libraries for blacs, compiled against mpich. + +%package -n blacs-mpich-static +Summary: Static libraries for blacs (mpich) +Requires: blacs-mpich-devel = %{version}-%{release} +Provides: blacs-mpich2-static = %{version}-%{release} +Obsoletes: blacs-mpich2-static < 1.1-50 + +%description -n blacs-mpich-static +This package contains static libraries for blacs, compiled against mpich. + +%package mpich +Summary: ScaLAPACK libraries compiled against mpich +Requires: %{name}-common = %{version}-%{release} +Requires: mpich +Provides: %{name}-mpich2 = %{version}-%{release} +Obsoletes: %{name}-mpich2 < 1.7.5-19 +# This is a lie, but something needs to obsolete it. +Provides: %{name}-lam = %{version}-%{release} +Obsoletes: %{name}-lam <= 1.7.5-7 + +%description mpich +ScaLAPACK is designed for heterogeneous computing and is +portable on any computer that supports MPI or PVM. + +%package mpich-devel +Summary: Development libraries for ScaLAPACK (mpich) +Requires: %{name}-mpich = %{version}-%{release} +Requires: mpich-devel +Provides: %{name}-lam-devel = %{version}-%{release} +Obsoletes: %{name}-lam-devel <= 1.7.5-7 +Provides: %{name}-mpich2-devel = %{version}-%{release} +Obsoletes: %{name}-mpich2-devel < 1.7.5-19 + +%description mpich-devel +This package contains development libraries for ScaLAPACK, compiled against mpich. + +%package mpich-static +Summary: Static libraries for ScaLAPACK (mpich) +Provides: %{name}-lam-static = %{version}-%{release} +Obsoletes: %{name}-lam-static <= 1.7.5-7 +Requires: %{name}-mpich-devel = %{version}-%{release} +Provides: %{name}-mpich2-static = %{version}-%{release} +Obsoletes: %{name}-mpich2-static < 1.7.5-19 + +%description mpich-static +This package contains static libraries for ScaLAPACK, compiled against mpich. + +%endif + +%if %{with openmpi} +%package -n blacs-openmpi +Summary: BLACS libraries compiled against openmpi +Requires: blacs-common = %{version}-%{release} +Requires: openmpi + +%description -n blacs-openmpi +The BLACS (Basic Linear Algebra Communication Subprograms) project is +an ongoing investigation whose purpose is to create a linear algebra +oriented message passing interface that may be implemented efficiently +and uniformly across a large range of distributed memory platforms. + +%package -n blacs-openmpi-devel +Summary: Development libraries for blacs (openmpi) +Requires: blacs-openmpi = %{version}-%{release} +Requires: openmpi-devel + +%description -n blacs-openmpi-devel +This package contains development libraries for blacs, compiled against openmpi. + +%package -n blacs-openmpi-static +Summary: Static libraries for blacs (openmpi) +Requires: blacs-openmpi-static = %{version}-%{release} + +%description -n blacs-openmpi-static +This package contains static libraries for blacs, compiled against openmpi. + +%package openmpi +Summary: ScaLAPACK libraries compiled against openmpi +Requires: %{name}-common = %{version}-%{release} +Requires: openmpi + +%description openmpi +ScaLAPACK is designed for heterogeneous computing and is +portable on any computer that supports MPI or PVM. + +%package openmpi-devel +Summary: Development libraries for ScaLAPACK (openmpi) +Requires: %{name}-openmpi = %{version}-%{release} +Requires: openmpi-devel + +%description openmpi-devel +This package contains development libraries for ScaLAPACK, compiled against openmpi. + +%package openmpi-static +Summary: Static libraries for ScaLAPACK (openmpi) +Requires: %{name}-openmpi-devel = %{version}-%{release} + +%description openmpi-static +This package contains static libraries for ScaLAPACK, compiled against openmpi. +%endif + +%if %{with openmpi3} +%package -n blacs-openmpi3 +Summary: BLACS libraries compiled against openmpi3 +Requires: blacs-common = %{version}-%{release} +Requires: openmpi3 + +%description -n blacs-openmpi3 +This package contains BLACS libraries compiled with openmpi3. + +%package -n blacs-openmpi3-devel +Summary: Development libraries for blacs (openmpi3) +Requires: blacs-openmpi3 = %{version}-%{release} +Requires: openmpi3-devel + +%description -n blacs-openmpi3-devel +This package contains development libraries for blacs, compiled against openmpi3. + +%package -n blacs-openmpi3-static +Summary: Static libraries for blacs (openmpi3) +Requires: blacs-openmpi3-devel = %{version}-%{release} + +%description -n blacs-openmpi3-static +This package contains static libraries for blacs, compiled against openmpi3. + +%package openmpi3 +Summary: ScaLAPACK libraries compiled against openmpi3 +Requires: %{name}-common = %{version}-%{release} +Requires: openmpi3 + +%description openmpi3 +The ScaLAPACK (or Scalable LAPACK) library includes a subset +of LAPACK routines redesigned for distributed memory MIMD +parallel computers. + +%package openmpi3-devel +Summary: Development libraries for ScaLAPACK (openmpi3) +Requires: %{name}-openmpi3 = %{version}-%{release} +Requires: openmpi3-devel + +%description openmpi3-devel +This package contains development libraries for ScaLAPACK, compiled against openmpi3. + +%package openmpi3-static +Summary: Static libraries for ScaLAPACK (openmpi3) +Requires: %{name}-openmpi3-devel = %{version}-%{release} + +%description openmpi3-static +This package contains static libraries for ScaLAPACK, compiled against openmpi3. +%endif + +%prep +%setup -q -c -n %{name}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%if %{without openblas} +%patch3 -p1 +%endif +for i in %{?with_mpich:mpich} %{?with_openmpi:openmpi} %{?with_openmpi3:openmpi3}; do + cp -a %{name}-%{version} %{name}-%{version}-$i +done + +%build +%global dobuild() \ +cd %{name}-%{version}-$MPI_COMPILER_NAME ; \ +make lib ; \ +cd .. + +%if %{with mpich} +# Build mpich version +export MPI_COMPILER_NAME=mpich +%{_mpich_load} +RPM_OPT_FLAGS=`echo $CFLAGS` +%dobuild +%{_mpich_unload} +%endif + +%if %{with openmpi} +# Build OpenMPI version +export MPI_COMPILER_NAME=openmpi +%{_openmpi_load} +RPM_OPT_FLAGS=`echo $CFLAGS` +%dobuild +%{_openmpi_unload} +%endif + +%if %{with openmpi3} +# Build OpenMPI3 version +export MPI_COMPILER_NAME=openmpi3 +%{_openmpi3_load} +RPM_OPT_FLAGS=`echo $CFLAGS` +%dobuild +%{_openmpi3_unload} +%endif + +%install +mkdir -p ${RPM_BUILD_ROOT}%{_libdir} +mkdir -p ${RPM_BUILD_ROOT}%{_bindir} + +for i in %{?with_mpich:mpich} %{?with_openmpi:openmpi} %{?with_openmpi3:openmpi3}; do + mkdir -p %{buildroot}%{_libdir}/$i/lib/ + pushd %{name}-%{version}-$i + for f in *.a *.so*; do + cp -f $f %{buildroot}%{_libdir}/$i/lib/$f + done + popd + mkdir -p %{buildroot}%{_includedir}/$i-%{_arch}/ + # This file is independent of the MPI compiler used, but it is poorly named + # So we'll put it in %{_includedir}/blacs/ + mkdir -p %{buildroot}%{_includedir}/blacs/ + install -p %{name}-%{version}-$i/BLACS/SRC/Bdef.h %{buildroot}%{_includedir}/blacs/ + + pushd %{buildroot}%{_libdir}/$i/lib/ + ln -fs libscalapack.so.2.0.0 libscalapack.so.2 + ln -s libscalapack.so.2.0.0 libscalapack.so + # ln -fs libmpiblacs.so.2.0.0 libmpiblacs.so.2 + # ln -s libmpiblacs.so.2.0.0 libmpiblacs.so + popd +done + +# Copy docs +cd %{name}-%{version} +cp -f README ../ + +%files common +%doc README + +%files -n blacs-common +%{_includedir}/blacs/ + +%if %{with mpich} + +%files -n blacs-mpich +%{_libdir}/mpich/lib/libmpiblacs*.so.* + +%files -n blacs-mpich-devel +%{_includedir}/mpich-%{_arch}/ +%{_libdir}/mpich/lib/libmpiblacs*.so + +%files -n blacs-mpich-static +%{_libdir}/mpich/lib/libmpiblacs*.a + +%files mpich +%{_libdir}/mpich/lib/libscalapack.so.* + +%files mpich-devel +%{_libdir}/mpich/lib/libscalapack.so + +%files mpich-static +%{_libdir}/mpich/lib/libscalapack.a +%endif + +%if %{with openmpi} +%files -n blacs-openmpi +%{_libdir}/openmpi/lib/libmpiblacs*.so.* + +%files -n blacs-openmpi-devel +%{_includedir}/openmpi-%{_arch}/ +%{_libdir}/openmpi/lib/libmpiblacs*.so + +%files -n blacs-openmpi-static +%{_libdir}/openmpi/lib/libmpiblacs*.a + +%files openmpi +%{_libdir}/openmpi/lib/libscalapack.so.* + +%files openmpi-devel +%{_libdir}/openmpi/lib/libscalapack.so + +%files openmpi-static +%{_libdir}/openmpi/lib/libscalapack.a +%endif + +%if %{with openmpi3} +%files -n blacs-openmpi3 +%{_libdir}/openmpi3/lib/libmpiblacs*.so.* + +%files -n blacs-openmpi3-devel +%{_includedir}/openmpi3-%{_arch}/ +%{_libdir}/openmpi3/lib/libmpiblacs*.so + +%files -n blacs-openmpi3-static +%{_libdir}/openmpi3/lib/libmpiblacs*.a + +%files openmpi3 +%{_libdir}/openmpi3/lib/libscalapack.so.* + +%files openmpi3-devel +%{_libdir}/openmpi3/lib/libscalapack.so + +%files openmpi3-static +%{_libdir}/openmpi3/lib/libscalapack.a +%endif + +%changelog +* Mon Apr 18 2022 zhangkea - 2.0.2-31 +- package init