Hello community, here is the log from the commit of package scalapack for openSUSE:Factory checked in at 2015-07-16 17:15:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scalapack (Old) and /work/SRC/openSUSE:Factory/.scalapack.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scalapack" Changes: -------- --- /work/SRC/openSUSE:Factory/scalapack/scalapack.changes 2015-01-15 15:58:29.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.scalapack.new/scalapack.changes 2015-07-16 17:15:42.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Jul 7 21:10:56 UTC 2015 - [email protected] + +- Build BLACS shared libraries + * scalapack-2.0.2-shared-blacs.patch + +------------------------------------------------------------------- New: ---- scalapack-2.0.2-shared-blacs.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scalapack.spec ++++++ --- /var/tmp/diff_new_pack.uAd9hj/_old 2015-07-16 17:15:43.000000000 +0200 +++ /var/tmp/diff_new_pack.uAd9hj/_new 2015-07-16 17:15:43.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package scalapack # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,19 +16,22 @@ # -%define libname libscalapack2 - -Summary: A subset of LAPACK routines redesigned for heterogenous computing -License: SUSE-Public-Domain -Group: Development/Libraries/Parallel Name: scalapack +%define so_ver 2 +%define libname lib%{name}%{so_ver} Version: 2.0.2 Release: 0 +Summary: A subset of LAPACK routines redesigned for heterogenous computing +License: SUSE-Public-Domain +Group: Development/Libraries/Parallel # This is freely distributable without any restrictions. -Url: http://www.netlib.org/lapack-dev/ +Url: http://www.netlib.org/scalapack/ Source0: http://www.netlib.org/scalapack/scalapack-%{version}.tgz Source1: baselibs.conf +# PATCH-FIX-OPENSUSE scalapack-2.0.2-shared-lib.patch Patch0: scalapack-2.0.2-shared-lib.patch +# PATCH-FIX-OPENSUSE scalapack-2.0.2-shared-blacs.patch -- build shared blacs library +Patch1: scalapack-2.0.2-shared-blacs.patch BuildRequires: blas-devel BuildRequires: gcc-fortran BuildRequires: lapack-devel @@ -135,6 +138,46 @@ openmpi. These programs needs data files which are provided with this package in the directory /usr/share/doc/packages/scalapack-test-openmpi. +%package -n libblacs%{so_ver}-openmpi +Summary: Basic Linear Algebra Communication Subprograms +Group: Development/Libraries/Parallel + +%description -n libblacs%{so_ver}-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. + +The length of time required to implement efficient distributed memory +algorithms makes it impractical to rew/mpi/gccrite programs for every new +parallel machine. The BLACS exist in order to make linear algebra +applications both easier to program and more portable. + +%package -n blacs-devel-headers +Summary: Development headers for BLACS +Group: Development/Libraries/Parallel + +%description -n blacs-devel-headers +This package contains headers for BLACS. + +%package -n libblacs%{so_ver}-openmpi-devel +Summary: Development libraries for BLACS (OpenMPI) +Group: Development/Libraries/Parallel +Requires: blacs-devel-headers +Requires: libblacs%{so_ver}-openmpi = %{version} +Requires: openmpi-devel + +%description -n libblacs%{so_ver}-openmpi-devel +This package contains development libraries for BLACS, compiled against OpenMPI. + +%package -n libblacs%{so_ver}-openmpi-devel-static +Summary: Development libraries for BLACS (OpenMPI) +Group: Development/Libraries/Parallel +Requires: libblacs%{so_ver}-openmpi-devel = %{version} + +%description -n libblacs%{so_ver}-openmpi-devel-static +This package contains static libraries for BLACS, compiled against OpenMPI. + %if 0%{?sles_version} %package -n %{libname}-mvapich2 Summary: ScaLAPACK libraries compiled against mvapich2 @@ -199,11 +242,45 @@ This packages contains the few tests programs for ScaLAPACK compiled against mvapich2. These programs needs data files which are provided with this package in the directory /usr/share/doc/packages/scalapack-test-mvapich2. + +%package -n libblacs%{so_ver}-mvapich2 +Summary: Basic Linear Algebra Communication Subprograms +Group: Development/Libraries/Parallel + +%description -n libblacs%{so_ver}-mvapich2 +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. + +The length of time required to implement efficient distributed memory +algorithms makes it impractical to rew/mpi/gccrite programs for every new +parallel machine. The BLACS exist in order to make linear algebra +applications both easier to program and more portable. + +%package -n libblacs%{so_ver}-mvapich2-devel +Summary: Development libraries for BLACS (mvapich2) +Group: Development/Libraries/Parallel +Requires: blacs-devel-headers +Requires: libblacs%{so_ver}-mvapich2 = %{version} +Requires: mvapich2-devel + +%description -n libblacs%{so_ver}-mvapich2-devel +This package contains development libraries for BLACS, compiled against mvapich2. + +%package -n libblacs%{so_ver}-mvapich2-devel-static +Summary: Development libraries for BLACS (mvapich2) +Group: Development/Libraries/Parallel +Requires: libblacs%{so_ver}-mvapich2-devel = %{version} + +%description -n libblacs%{so_ver}-mvapich2-devel-static +This package contains static libraries for BLACS, compiled against mvapich2. %endif %prep %setup -q -c -n %{name}-%{version} %patch0 -p1 +%patch1 -p1 cd %{name}-%{version}/ cp SLmake.inc.example SLmake.inc cd .. @@ -235,8 +312,8 @@ %endif %install -mkdir -p ${RPM_BUILD_ROOT}%{_libdir} -mkdir -p ${RPM_BUILD_ROOT}%{_bindir} +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_bindir} for i in %_mpi_list; do mkdir -p %{buildroot}%{_libdir}/mpi/gcc/$i/%_lib @@ -244,30 +321,41 @@ pushd %{name}-%{version}-$i for f in *.a *.so*; do cp -f $f %{buildroot}%{_libdir}/mpi/gcc/$i/%_lib/$f - cp -f TESTING/x* ${RPM_BUILD_ROOT}%{_libdir}/mpi/gcc/$i/bin + cp -f TESTING/x* %{buildroot}%{_libdir}/mpi/gcc/$i/bin done popd pushd %{buildroot}%{_libdir}/mpi/gcc/$i/%_lib - ln -fs libscalapack.so.2.0.2 libscalapack.so.2 - ln -s libscalapack.so.2.0.2 libscalapack.so + ln -fs libscalapack.so.%{version} libscalapack.so.%{so_ver} + ln -fs libscalapack.so.%{version} libscalapack.so + ln -fs libblacs.so.%{version} libblacs.so.%{so_ver} + ln -fs libblacs.so.%{version} libblacs.so popd done +# blacs header +mkdir -p %{buildroot}%{_includedir}/blacs/ +install -m 644 %{name}-%{version}/BLACS/SRC/Bdef.h %{buildroot}%{_includedir}/blacs/ + # Copy docs cd %{name}-%{version} cp -f README LICENSE ../ -%clean -rm -fr ${RPM_BUILD_ROOT} - %post -n %{libname}-openmpi -p /sbin/ldconfig %postun -n %{libname}-openmpi -p /sbin/ldconfig +%post -n libblacs%{so_ver}-openmpi -p /sbin/ldconfig + +%postun -n libblacs%{so_ver}-openmpi -p /sbin/ldconfig + %if 0%{?sles_version} %post -n %{libname}-mvapich2 -p /sbin/ldconfig %postun -n %{libname}-mvapich2 -p /sbin/ldconfig + +%post -n libblacs%{so_ver}-mvapich2 -p /sbin/ldconfig + +%postun -n libblacs%{so_ver}-mvapich2 -p /sbin/ldconfig %endif %files -n %{libname}-openmpi @@ -288,6 +376,22 @@ %defattr(-,root,root,-) %{_libdir}/mpi/gcc/openmpi/%_lib/libscalapack.a +%files -n blacs-devel-headers +%defattr(-,root,root,-) +%{_includedir}/blacs/ + +%files -n libblacs%{so_ver}-openmpi +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/openmpi/%_lib/libblacs.so.* + +%files -n libblacs%{so_ver}-openmpi-devel +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/openmpi/%_lib/libblacs.so + +%files -n libblacs%{so_ver}-openmpi-devel-static +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/openmpi/%_lib/libblacs.a + %if 0%{?sles_version} %files -n %{libname}-mvapich2 %defattr(-,root,root,-) @@ -306,6 +410,18 @@ %files -n %{libname}-mvapich2-devel-static %defattr(-,root,root,-) %{_libdir}/mpi/gcc/mvapich2/%_lib/libscalapack.a + +%files -n libblacs%{so_ver}-mvapich2 +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/mvapich2/%_lib/libblacs.so.* + +%files -n libblacs%{so_ver}-mvapich2-devel +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/mvapich2/%_lib/libblacs.so + +%files -n libblacs%{so_ver}-mvapich2-devel-static +%defattr(-,root,root,-) +%{_libdir}/mpi/gcc/mvapich2/%_lib/libblacs.a %endif %changelog ++++++ scalapack-2.0.2-shared-blacs.patch ++++++ 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) ../../libblacs.a + ( mkdir tmp ; cp ../../$(SCALAPACKLIB) tmp ; cd tmp ; ar x $(SCALAPACKLIB) ; mpif77 -shared -o ../../../libblacs.so.2.0.2 *.o *.oo -Wl,-soname=libblacs.so.2 ; ln -s libblacs.so.2.0.2 ../../../libblacs.so.2 ; ln -s libblacs.so.2.0.2 ../../../libblacs.so ; cd .. ) # ----------------------- # Delete the object files
