Hello community, here is the log from the commit of package scalapack for openSUSE:Factory checked in at 2019-12-04 13:55:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scalapack (Old) and /work/SRC/openSUSE:Factory/.scalapack.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scalapack" Wed Dec 4 13:55:15 2019 rev:16 rq:753897 version:2.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/scalapack/scalapack.changes 2019-11-27 13:55:36.252292933 +0100 +++ /work/SRC/openSUSE:Factory/.scalapack.new.4691/scalapack.changes 2019-12-04 14:20:45.674457414 +0100 @@ -1,0 +2,20 @@ +Sat Nov 30 18:59:26 UTC 2019 - Egbert Eich <[email protected]> + +- 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-8609). +- 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. + +------------------------------------------------------------------- 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.1OGWX5/_old 2019-12-04 14:20:46.142457809 +0100 +++ /var/tmp/diff_new_pack.1OGWX5/_new 2019-12-04 14:20:46.142457809 +0100 @@ -1,7 +1,7 @@ # # spec file for package scalapack # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,18 +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 @@ -120,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 @@ -136,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 @@ -143,6 +150,88 @@ %{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 @@ -152,7 +241,10 @@ %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} @@ -180,12 +272,9 @@ # 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 @@ -377,12 +466,8 @@ %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}} @@ -400,46 +485,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##################################################################### @@ -487,7 +585,6 @@ %endif # Copy docs -cd %{pname}-%{version} cp -f README LICENSE ../ %post -n %{libname %_vers} -p /sbin/ldconfig @@ -515,6 +612,10 @@ %files -n %{libname %_vers}-devel %{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 %{installdir}/%_lib/libscalapack.a @@ -524,23 +625,17 @@ %files -n blacs-devel-headers %{p_includedir}/blacs/ %endif -%endif %files -n %{libblacsname %_vers} %{installdir}/%_lib/libblacs.so.* %files -n %{libblacsname %_vers}-devel %{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 %{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)
