Hello community, here is the log from the commit of package scalapack for openSUSE:Leap:15.2 checked in at 2020-05-07 19:27:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/scalapack (Old) and /work/SRC/openSUSE:Leap:15.2/.scalapack.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scalapack" Thu May 7 19:27:06 2020 rev:28 rq:790997 version:2.1.0 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/scalapack/scalapack.changes 2020-01-15 16:01:21.371859819 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.scalapack.new.2738/scalapack.changes 2020-05-07 19:32:23.966097366 +0200 @@ -1,0 +2,58 @@ +Sat Mar 28 08:13:18 UTC 2020 - Egbert Eich <e...@suse.com> + +- Remove blacs HPC master packages: the libblacs has been removed + (boo#1167949). + +------------------------------------------------------------------- +Thu Dec 5 11:18:02 UTC 2019 - Egbert Eich <e...@suse.com> + +- Add a Provides: for the removed BLACS library package for HPC. + libscalapack contains the BLACS ABI. + +------------------------------------------------------------------- +Sat Nov 30 18:59:26 UTC 2019 - Egbert Eich <e...@suse.com> + +- Updated to v2.1.0 (jsc#SLE-11037) + * New robust ScaLAPACK routine for computing the QR factorization with + column pivoting by Zvonimir Bujanovic and Zlatko Drmac [Download Lawn 296] + * MPI-3+ updates required by Open MPI 4 + * Improve accuracy of Frobenius norm by making intermediate column sums + * miscellaneous minor bug fixes + * Improve cmake shared library support +- Disable openmpi1 builds for SLE/Leap > 15.1. +- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773). +- Add support for gcc8 and gcc9 builds for HPC (jsc#SLE-7766, + jsc#SLE-8604). +- For HPC no longer provide BLACS as a separate library. +- Remove: + * scalapack-2.0.2-shared-blacs.patch + * scalapack-2.0.2-shared-lib.patch + Handled in spec file. + +------------------------------------------------------------------- +Mon Nov 25 22:06:18 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de> + +- Reflect renaming of openmpi packages to openmpi1 in Tumbleweed, + fixes unresolvable packages. + +------------------------------------------------------------------- +Tue Sep 10 06:58:49 UTC 2019 - Ana Guerrero Lopez <aguerr...@suse.com> + +- Use -ffat-lto-objects to provide a proper static library. + +------------------------------------------------------------------- +Tue Jul 16 08:32:53 UTC 2019 - Michel Normand <norm...@linux.vnet.ibm.com> + +- Add BuildRequires blacs-devel-headers for non-hpc when required. +- Add BuildRequires libopenblas-gnu-hpc >= 0.3.6 for hpc to avoid + to build when openblas library not available. + +------------------------------------------------------------------- +Fri Feb 22 19:17:17 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de> + +- spec file cleanup: + * Use %license, remove %defattr + * Shorten descriptions and fix some typos + * Remove redundant (and wrong) pointer to test data install dir + +------------------------------------------------------------------- Old: ---- scalapack-2.0.2-shared-blacs.patch scalapack-2.0.2-shared-lib.patch scalapack-2.0.2.tgz New: ---- scalapack-2.1.0.tgz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scalapack.spec ++++++ --- /var/tmp/diff_new_pack.DG0kER/_old 2020-05-07 19:32:24.558098550 +0200 +++ /var/tmp/diff_new_pack.DG0kER/_new 2020-05-07 19:32:24.562098558 +0200 @@ -1,7 +1,7 @@ # # spec file for package scalapack # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,16 +19,16 @@ %global flavor @BUILD_FLAVOR@%{nil} %define pname scalapack -%define vers 2.0.2 -%define _vers 2_0_2 +%define vers 2.1.0 +%define _vers 2_1_0 +%define so_ver 2 +%define openblas_vers 0.3.6 +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects -%if 0%{?is_opensuse} || 0%{?is_backports} -%undefine DisOMPI1 -%undefine DisOMPI2 -%undefine DisOMPI3 -%else +%if 0%{?sle_version} >= 150200 %define DisOMPI1 ExclusiveArch: do_not_build -%undefine DisOMPI2 +%endif +%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200 %define DisOMPI3 ExclusiveArch: do_not_build %endif @@ -118,10 +118,12 @@ %{bcond_without hpc} %endif -%if "%flavor" == "gnu7-mvapich2-hpc" -%define mpi_flavor mvapich2 +%if "%flavor" == "gnu7-openmpi2-hpc" +%{?DisOMPI2} +%define mpi_flavor openmpi %define compiler_family gnu %define c_f_ver 7 +%define mpi_vers 2 %{bcond_without hpc} %endif @@ -134,6 +136,13 @@ %{bcond_without hpc} %endif +%if "%flavor" == "gnu7-mvapich2-hpc" +%define mpi_flavor mvapich2 +%define compiler_family gnu +%define c_f_ver 7 +%{bcond_without hpc} +%endif + %if "%flavor" == "gnu7-mpich-hpc" %define mpi_flavor mpich %define compiler_family gnu @@ -141,16 +150,101 @@ %{bcond_without hpc} %endif +%if "%flavor" == "gnu8-openmpi-hpc" +%{?DisOMPI1} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 8 +%define mpi_vers 1 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu8-openmpi2-hpc" +%{?DisOMPI2} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 8 +%define mpi_vers 2 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu8-openmpi3-hpc" +%{?DisOMPI3} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 8 +%define mpi_vers 3 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu8-mvapich2-hpc" +%define mpi_flavor mvapich2 +%define compiler_family gnu +%define c_f_ver 8 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu8-mpich-hpc" +%define mpi_flavor mpich +%define compiler_family gnu +%define c_f_ver 8 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu9-openmpi-hpc" +%{?DisOMPI1} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 9 +%define mpi_vers 1 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu9-openmpi2-hpc" +%{?DisOMPI2} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 9 +%define mpi_vers 2 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu9-openmpi3-hpc" +%{?DisOMPI3} +%define mpi_flavor openmpi +%define compiler_family gnu +%define c_f_ver 9 +%define mpi_vers 3 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu9-mvapich2-hpc" +%define mpi_flavor mvapich2 +%define compiler_family gnu +%define c_f_ver 9 +%{bcond_without hpc} +%endif + +%if "%flavor" == "gnu9-mpich-hpc" +%define mpi_flavor mpich +%define compiler_family gnu +%define c_f_ver 9 +%{bcond_without hpc} +%endif + %if !0%{?is_opensuse} && !0%{?with_hpc:1} ExclusiveArch: do_not_build %endif -# For compatibility package names -%if "%{mpi_flavor}" != "openmpi" || "%{mpi_vers}" != "1" +# openmpi 1 was called just "openmpi" in Leap 15.x/SLE15 +%if 0%{?suse_version} >= 1550 || "%{mpi_flavor}" != "openmpi" || "%{mpi_vers}" != "1" %define mpi_ext %{?mpi_vers} %endif -%define so_ver 2 +%if 0%{!?mpi_flavor:1} + %define mpi_flavor mpich +%endif + %if %{without hpc} %if 0%{!?package_name:1} %define package_name %{pname}-%{mpi_flavor}%{?mpi_ext} @@ -166,7 +260,6 @@ %define libname() lib%{pname}%{so_ver}%{expand:%%{hpc_package_name_tail %{**}}} %global libname_plain %{libname} %define libblacsname() libblacs%{so_ver}%{expand:%%{hpc_package_name_tail %{**}}} -%global libblacs_plain %{libblacsname} %define installdir %{hpc_prefix} %define p_includedir %{hpc_includedir} %endif @@ -178,21 +271,22 @@ # This is freely distributable without any restrictions. License: SUSE-Public-Domain Group: Development/Libraries/Parallel -Url: http://www.netlib.org/scalapack/ +URL: http://www.netlib.org/scalapack/ Source0: http://www.netlib.org/scalapack/%{pname}-%{version}.tgz -# 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: cmake >= 2.8 %if %{without hpc} BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel BuildRequires: blas-devel BuildRequires: gcc-fortran BuildRequires: lapack-devel +%if %{without blacs_devel_headers} +BuildRequires: blacs-devel-headers +%endif %else BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel BuildRequires: %{mpi_flavor}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel +BuildRequires: libopenblas-%{compiler_family}-hpc >= %{openblas_vers} BuildRequires: lua-lmod BuildRequires: pkgconfig BuildRequires: suse-hpc @@ -240,6 +334,7 @@ %if %{with hpc} Requires: %{name}-module Requires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc +Provides: %{libblacsname %_vers} %hpc_requires %endif @@ -279,9 +374,13 @@ Requires: %{libname %_vers} = %{version} %if %{without hpc} Requires: %{mpi_flavor}%{?mpi_ext}-devel +%if "%{mpi_flavor}%{?mpi_ext}" == "openmpi1" +Provides: lib%{pname}%{so_ver}-openmpi-devel +%endif %else %hpc_requires_devel Requires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel +Provides: %{libblacsname %_vers}-devel %endif Obsoletes: %{name}-devel < %{version} Provides: %{name}-devel = %{version} @@ -306,9 +405,8 @@ Group: Development/Libraries/Parallel %description test -This packages contains the few tests programs for ScaLAPACK compiled against -%{mpi_flavor}%{?mpi_vers}. These programs needs data files which are provided with this package -in the directory /usr/share/doc/packages/scalapack-test-%{mpi_flavor}%{?mpi_vers}. +This packages contains some test programs for ScaLAPACK compiled against +%{mpi_flavor}%{?mpi_vers}. %package -n %{libblacsname %_vers} Summary: Basic Linear Algebra Communication Subprograms @@ -319,18 +417,15 @@ %endif %description -n %{libblacsname %_vers} -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 BLACS (Basic Linear Algebra Communication Subprograms) project +provides a linear algebra oriented message passing interface for +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 +algorithms makes it impractical to rewrite programs for every new parallel machine. The BLACS exist in order to make linear algebra applications both easier to program and more portable. -%{?with_hpc:%{hpc_master_package -l -n %{libblacs_plain} -N blacs -s %so_ver}} - %package -n %{libblacsname %_vers}-devel Summary: Development libraries for BLACS (%{mpi_flavor}%{?mpi_vers}) Group: Development/Libraries/Parallel @@ -351,8 +446,9 @@ Summary: Development libraries for BLACS (%{mpi_flavor}%{?mpi_vers}) Group: Development/Libraries/Parallel Requires: %{libblacsname %_vers}-devel = %{version} - -%{?with_hpc:%{hpc_master_package -n %{libblacs_plain}-devel -N blacs -s %so_ver -a devel}} +%if "%{mpi_flavor}%{?mpi_ext}" == "openmpi1" +Provides: libblacs%{so_ver}-openmpi-devel +%endif %description -n %{libblacsname %_vers}-devel-static This package contains static libraries for BLACS, compiled against %{mpi_flavor}%{?mpi_vers}. @@ -363,16 +459,12 @@ Group: Development/Libraries/Parallel %description module -This package contains module files required buy SCALAPACK and BLACS, compiled against %{mpi_flavor}%{?mpi_vers}. +This package contains module files required by SCALAPACK and BLACS, compiled against %{mpi_flavor}%{?mpi_vers}. %endif %prep -%setup -q -c -%patch0 -p1 -%patch1 -p1 -cd %{pname}-%{version}/ +%setup -q -n %{pname}-%{version} cp SLmake.inc.example SLmake.inc -cd .. %if %{without hpc} cat > %{_sourcedir}/baselibs.conf <<EOF %{libname %{?_vers}} @@ -390,46 +482,59 @@ %endif RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" -cd %{pname}-%{version}; %if %{without hpc} -echo $PATH | grep -q %{mpi_flavor}%{?mpi_ext} || PATH=/usr/%_lib/mpi/gcc/%{mpi_flavor}%{?mpi_ext}/bin:$PATH -%define makeargs CC=/usr/%_lib/mpi/gcc/%{mpi_flavor}%{?mpi_ext}/bin/mpicc FC=/usr/%_lib/mpi/gcc/%{mpi_flavor}%{?mpi_ext}/bin/mpif90 %{?_smp_flags} +echo $PATH | grep -q %{mpi_flavor}%{?mpi_ext} || \ + PATH=/usr/%_lib/mpi/gcc/%{mpi_flavor}%{?mpi_ext}/bin:$PATH +%define makeargs %{?_smp_flags} +#%%cmake -DCMAKE_C_FLAGS:STRING="$RPM_OPT_FLAGS -fPIC" +# -DCMAKE_Fortran_FLAGS:STRING="$RPM_OPT_FLAGS -fPIC" \ +# -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=ON \ +# -DCMAKE_INSTALL_LIBDIR:PATH=%%{installdir}/%%_lib +#%%make_jobs -C build %else %define makeargs FCFLAGS+="$(pkg-config --cflags openblas)" LIBS="$(pkg-config --libs openblas)" %{?_smp_flags} %endif -make lib CFLAGS="$RPM_OPT_FLAGS -fPIC" FCFLAGS="$RPM_OPT_FLAGS -fPIC" %makeargs +CC=mpicc +FC=mpif90 +MYCFLAGS="$RPM_OPT_FLAGS -fPIC" +make lib CFLAGS="${MYCFLAGS}" CCFLAGS="${MYCFLAGS}" FCFLAGS="${MYCFLAGS}" %makeargs cd TESTING/EIG; make FCFLAGS="$RPM_OPT_FLAGS" %{makeargs} cd ../LIN; make FCFLAGS="$RPM_OPT_FLAGS" %{makeargs} +cd ../.. +%if %{without hpc} +ar crs libblacs.a BLACS/SRC/*.o BLACS/SRC/*.oo +BLACS=blacs +%endif +for libname in scalapack ${BLACS} +do +${FC} -shared -Wl,--whole-archive lib${libname}.a -Wl,--no-whole-archive \ + -Wl,-soname,lib${libname}.so.%{version} -o lib${libname}.so.%{version} + ln -s lib${libname}.so.%{version} lib${libname}.so + ln -s lib${libname}.so.%{version} lib${libname}.so.%{so_ver} +done + %install +#%%make_install -C build + mkdir -p %{buildroot}%{installdir}/%_lib mkdir -p %{buildroot}%{installdir}/%{_lib}/TESTING -pushd %{pname}-%{version} for f in *.a *.so*; do cp -f $f %{buildroot}%{installdir}/%_lib/$f done cp -f TESTING/x* TESTING/*.dat %{buildroot}%{installdir}/%{_lib}/TESTING -popd -pushd %{buildroot}%{installdir}/%_lib -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 - # blacs header %if %{with hpc} || %{with blacs_devel_headers} mkdir -p %{buildroot}%{p_includedir}/blacs/ -install -m 644 %{pname}-%{version}/BLACS/SRC/Bdef.h %{buildroot}%{p_includedir}/blacs/ +install -m 644 BLACS/SRC/Bdef.h %{buildroot}%{p_includedir}/blacs/ %endif %if %{with hpc} %{?hpc_write_pkgconfig:%hpc_write_pkgconfig -l %{pname}} -%{?hpc_write_pkgconfig:%hpc_write_pkgconfig -l blacs -n blacs} # HPC module file %hpc_write_modules_files #%%Module1.0##################################################################### @@ -477,7 +582,6 @@ %endif # Copy docs -cd %{pname}-%{version} cp -f README LICENSE ../ %post -n %{libname %_vers} -p /sbin/ldconfig @@ -494,50 +598,41 @@ %endif %files -n %{libname %_vers} -%defattr(-,root,root,-) -%doc README LICENSE +%license LICENSE +%doc README %{installdir}/%_lib/libscalapack.so.* %{?with_hpc:%hpc_dirs} %files test -%defattr(-,root,root,-) %{installdir}/%_lib/TESTING %files -n %{libname %_vers}-devel -%defattr(-,root,root,-) %{installdir}/%_lib/libscalapack.so %{?with_hpc:%hpc_pkgconfig_file} +%if %{with hpc} +%dir %{p_includedir} +%{p_includedir}/blacs +%endif %files -n %{libname %_vers}-devel-static -%defattr(-,root,root,-) %{installdir}/%_lib/libscalapack.a %if %{without hpc} %if %{with blacs_devel_headers} %files -n blacs-devel-headers -%defattr(-,root,root,-) %{p_includedir}/blacs/ %endif -%endif %files -n %{libblacsname %_vers} -%defattr(-,root,root,-) %{installdir}/%_lib/libblacs.so.* %files -n %{libblacsname %_vers}-devel -%defattr(-,root,root,-) %{installdir}/%_lib/libblacs.so -%if %{with hpc} -%{hpc_pkgconfig_file -n blacs} -%dir %{p_includedir} -%{p_includedir}/blacs -%endif %files -n %{libblacsname %_vers}-devel-static -%defattr(-,root,root,-) %{installdir}/%_lib/libblacs.a -%if %{with hpc} +%else # hpc %files module %hpc_modules_files %endif ++++++ scalapack-2.0.2.tgz -> scalapack-2.1.0.tgz ++++++ ++++ 3981 lines of diff (skipped)