Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lapack for openSUSE:Factory checked in at 2021-03-08 15:14:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lapack (Old) and /work/SRC/openSUSE:Factory/.lapack.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lapack" Mon Mar 8 15:14:53 2021 rev:48 rq:876617 version:3.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/lapack/lapack.changes 2020-10-12 13:46:57.861912789 +0200 +++ /work/SRC/openSUSE:Factory/.lapack.new.2378/lapack.changes 2021-03-08 15:15:46.773872084 +0100 @@ -1,0 +2,13 @@ +Mon Oct 12 16:48:38 UTC 2020 - Stefan Br??ns <[email protected]> + +- Update to version 3.9.0: + * LAPACK QR-preconditioned QR SVD method - xGESVDQ routines + * LAPACK Householder Reconstruction +- Add Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch +- Rebase lapack-3.2.2.patch +- Drop -std=legacy from fortran flags: + * add Fix-MinGW-build-error.patch + * add Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch +- Remove pre_checkin.sh, remove lapack-man.changes copy + +------------------------------------------------------------------- Old: ---- lapack-3.8.0.tar.gz lapack-man.changes pre_checkin.sh New: ---- Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch Fix-MinGW-build-error.patch Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch lapack-3.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lapack-man.spec ++++++ --- /var/tmp/diff_new_pack.EW8XkM/_old 2021-03-08 15:15:47.993873024 +0100 +++ /var/tmp/diff_new_pack.EW8XkM/_new 2021-03-08 15:15:47.997873026 +0100 @@ -1,7 +1,7 @@ # # spec file for package lapack-man # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,13 @@ Name: lapack-man %define _name lapack -Version: 3.8.0 +Version: 3.9.0 Release: 0 Summary: Manpages for LAPACK and BLAS License: BSD-3-Clause Group: Documentation/Other URL: http://www.netlib.org/lapack/ -Source0: http://www.netlib.org/lapack/%{_name}-%{version}.tar.gz +Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz#/lapack-%{version}.tar.gz BuildRequires: doxygen >= 1.7 BuildRequires: fdupes # Merged blas-man into lapack-man with 3.8.0 update ++++++ lapack.spec ++++++ --- /var/tmp/diff_new_pack.EW8XkM/_old 2021-03-08 15:15:48.045873064 +0100 +++ /var/tmp/diff_new_pack.EW8XkM/_new 2021-03-08 15:15:48.049873066 +0100 @@ -1,7 +1,7 @@ # # spec file for package lapack # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,15 +17,22 @@ Name: lapack -Version: 3.8.0 +Version: 3.9.0 Release: 0 Summary: Linear Algebra Package License: BSD-3-Clause Group: Development/Libraries/Parallel URL: http://www.netlib.org/lapack/ -Source0: http://www.netlib.org/lapack/%{name}-%{version}.tar.gz +Source0: https://github.com/Reference-LAPACK/lapack/archive/v%{version}.tar.gz#/lapack-%{version}.tar.gz Source99: baselibs.conf Patch1: lapack-3.2.2.patch +# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/489a2884c22e.patch +Patch2: Fix-MinGW-build-error.patch +# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/d168b4d2ae67.patch +Patch3: Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch +# PATCH-FIX-UPSTREAM -- https://github.com/Reference-LAPACK/lapack/commit/ea2a102d3827.patch +Patch4: Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch + BuildRequires: gcc-fortran BuildRequires: python3-base BuildRequires: update-alternatives @@ -197,12 +204,17 @@ %prep %setup -q -%patch1 +%autopatch -p1 sed -i -e '1 s@env python@python3@' lapack_testing.py %build +# Increase stack size, required for xeigtstz, see +# https://github.com/Reference-LAPACK/lapack/issues/335 +# Remove for lapack > 3.9 +ulimit -s 16384 + %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -%global optflags_f %{optflags} -std=legacy +%global optflags_f %{optflags} case "$RPM_ARCH" in i[0-9]86) PRECFLAGS="-ffloat-store" ;; *) PRECFLAGS="" ;; @@ -212,8 +224,7 @@ make cleanlib %{?_smp_mflags} make %{?_smp_mflags} blaslib \ - OPTS="%{optflags_f} -fPIC" \ - NOOPT="%{optflags_f} -O0 -fPIC" + FFLAGS="%{optflags_f} -fPIC" mkdir tmp ( cd tmp; ar x ../librefblas.a ) gfortran -shared -Wl,-soname=libblas.so.3 -o libblas.so.%{version} tmp/*.o @@ -221,8 +232,8 @@ rm -rf tmp make blas_testing \ - OPTS="%{optflags_f} $PRECFLAGS" \ - NOOPT="%{optflags_f} $PRECFLAGS -O0" + FFLAGS="%{optflags_f} $PRECFLAGS" \ + FFLAGS_NOOPT="%{optflags_f} $PRECFLAGS -O0" if grep -B15 -A15 FAIL BLAS/*.out; then echo echo "blas_testing FAILED" @@ -231,21 +242,18 @@ mv librefblas.a libblas.a make %{?_smp_mflags} cblaslib \ - CFLAGS="%{optflags} -fPIC -DADD_ " \ - LINKER=gfortran + CFLAGS="%{optflags} -fPIC -DADD_ " mkdir tmp ( cd tmp; ar x ../libcblas.a ) gfortran -shared -Wl,-soname=libcblas.so.3 -o libcblas.so.%{version} tmp/*.o -L. -lblas ln -s libcblas.so.%{version} libcblas.so rm -rf tmp make %{?_smp_mflags} cblas_testing \ - CFLAGS="%{optflags} -fPIC" \ - LINKER=gfortran + CFLAGS="%{optflags} -fPIC" grep -B15 -A15 FAIL TESTING/*.out && false make %{?_smp_mflags} lapacklib \ - OPTS="%{optflags_f} -fPIC" \ - NOOPT="%{optflags_f} -O0 -fPIC" + FFLAGS="%{optflags_f} -fPIC" mkdir tmp ( cd tmp; ar x ../liblapack.a ) gfortran -shared -Wl,-soname=liblapack.so.3 -o liblapack.so.%{version} tmp/*.o -L. -lblas @@ -254,18 +262,16 @@ cd LAPACKE make %{?_smp_mflags} lapacke \ - CFLAGS="%{optflags} -fPIC -DADD_ -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE" \ - LINKER=gfortran + CFLAGS="%{optflags} -fPIC -DADD_ -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_STRUCTURE" mkdir tmp ( cd tmp; ar x ../../liblapacke.a ) -gfortran -shared -Wl,-soname=liblapacke.so.3 -o liblapacke.so.%{version} tmp/*.o +gfortran -shared -Wl,-soname=liblapacke.so.3 -o liblapacke.so.%{version} tmp/*.o -L.. -llapack ln -s liblapacke.so.%{version} liblapacke.so rm -rf tmp cd .. make lapack_testing \ - OPTS="%{optflags_f} $PRECFLAGS" \ - NOOPT="%{optflags_f} $PRECFLAGS -O0" + FFLAGS="%{optflags_f} $PRECFLAGS" if grep -B15 -A15 FAIL TESTING/*.out; then echo echo "lapack_testing FAILED" ++++++ Avoid-out-of-bounds-accesses-in-complex-EIG-tests.patch ++++++ ++++ 981 lines (skipped) ++++++ Fix-MinGW-build-error.patch ++++++ >From 489a2884c22e8593ec47bfe7c84ab451b0c0d3d9 Mon Sep 17 00:00:00 2001 From: Julien Schueller <[email protected]> Date: Mon, 25 Nov 2019 19:41:16 +0100 Subject: [PATCH] Fix MinGW build error With MinGW the build fails for some LAPACKE xgesvd routines with: lapacke_cgesvdq.c:74:5: error: aggregate value used where an integer was expected Seems the C2INT macro is useful there. --- LAPACKE/src/lapacke_cgesvdq.c | 2 +- LAPACKE/src/lapacke_zgesvdq.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LAPACKE/src/lapacke_cgesvdq.c b/LAPACKE/src/lapacke_cgesvdq.c index 801569453..6ecd06962 100644 --- a/LAPACKE/src/lapacke_cgesvdq.c +++ b/LAPACKE/src/lapacke_cgesvdq.c @@ -71,7 +71,7 @@ lapack_int LAPACKE_cgesvdq( int matrix_layout, char joba, char jobp, goto exit_level_0; } liwork = (lapack_int)iwork_query; - lcwork = (lapack_int)cwork_query; + lcwork = LAPACK_C2INT(cwork_query); lrwork = (lapack_int)rwork_query; /* Allocate memory for work arrays */ iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); diff --git a/LAPACKE/src/lapacke_zgesvdq.c b/LAPACKE/src/lapacke_zgesvdq.c index 7c205dab3..1674138fc 100644 --- a/LAPACKE/src/lapacke_zgesvdq.c +++ b/LAPACKE/src/lapacke_zgesvdq.c @@ -71,7 +71,7 @@ lapack_int LAPACKE_zgesvdq( int matrix_layout, char joba, char jobp, goto exit_level_0; } liwork = (lapack_int)iwork_query; - lcwork = (lapack_int)cwork_query; + lcwork = LAPACK_C2INT(cwork_query); lrwork = (lapack_int)rwork_query; /* Allocate memory for work arrays */ iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) * liwork ); ++++++ Fix-some-minor-inconsistencies-in-LAPACKE_czgesvdq.patch ++++++ >From d168b4d2ae678904fb659b3caf27bce668f544e4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" <[email protected]> Date: Sun, 26 Apr 2020 00:57:37 +0200 Subject: [PATCH] Fix some minor inconsistencies in LAPACK(E)_[cz]gesvdq For LAPACKE_cgesvdq, align datatype of `rwork` with lapacke.h and callsite in LAPACKE_cgesvdq_work; both of the latter use `float* rwork`, so there's no need to calculate with doubles that only get downcast anyway. Similarly, make the signature of lapacke_zgesvdq_work consistent across lapack.h (modified here), the fortran side and lapacke_zgesvdq_work, see: https://github.com/Reference-LAPACK/lapack/blob/v3.9.0/LAPACKE/src/lapacke_zgesvdq_work.c#L42 https://github.com/Reference-LAPACK/lapack/blob/v3.9.0/SRC/zgesvdq.f#L422 --- LAPACKE/include/lapack.h | 2 +- LAPACKE/src/lapacke_cgesvdq.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h index 4f48b7c87..c045892df 100644 --- a/LAPACKE/include/lapack.h +++ b/LAPACKE/include/lapack.h @@ -2513,7 +2513,7 @@ void LAPACK_zgesvdq( lapack_complex_double* U, lapack_int const* ldu, lapack_complex_double* V, lapack_int const* ldv, lapack_int* numrank, lapack_int* iwork, lapack_int const* liwork, - lapack_complex_float* cwork, lapack_int* lcwork, + lapack_complex_double* cwork, lapack_int* lcwork, double* rwork, lapack_int const* lrwork, lapack_int* info ); diff --git a/LAPACKE/src/lapacke_cgesvdq.c b/LAPACKE/src/lapacke_cgesvdq.c index 91458136c..c5eca535e 100644 --- a/LAPACKE/src/lapacke_cgesvdq.c +++ b/LAPACKE/src/lapacke_cgesvdq.c @@ -47,8 +47,8 @@ lapack_int LAPACKE_cgesvdq( int matrix_layout, char joba, char jobp, lapack_complex_float* cwork = NULL; lapack_complex_float cwork_query; lapack_int lrwork = -1; - double* rwork = NULL; - double rwork_query; + float* rwork = NULL; + float rwork_query; lapack_int i; if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) { LAPACKE_xerbla( "LAPACKE_cgesvdq", -1 ); @@ -84,7 +84,7 @@ lapack_int LAPACKE_cgesvdq( int matrix_layout, char joba, char jobp, info = LAPACK_WORK_MEMORY_ERROR; goto exit_level_0; } - rwork = (double*)LAPACKE_malloc( sizeof(double) * lrwork ); + rwork = (float*)LAPACKE_malloc( sizeof(float) * lrwork ); if( rwork == NULL ) { info = LAPACK_WORK_MEMORY_ERROR; goto exit_level_0; ++++++ lapack-3.2.2.patch ++++++ --- /var/tmp/diff_new_pack.EW8XkM/_old 2021-03-08 15:15:48.157873150 +0100 +++ /var/tmp/diff_new_pack.EW8XkM/_new 2021-03-08 15:15:48.157873150 +0100 @@ -1,13 +1,10 @@ Index: BLAS/SRC/Makefile =================================================================== ---- BLAS/SRC/Makefile.orig -+++ BLAS/SRC/Makefile -@@ -166,5 +166,8 @@ cleanobj: +--- a/BLAS/SRC/Makefile.orig ++++ b/BLAS/SRC/Makefile +@@ -170,2 +170,5 @@ cleanobj: cleanlib: #rm -f $(BLASLIB) # May point to a system lib, e.g. -lblas - -+dcabs1.o: dcabs1.f -+ $(FORTRAN) $(NOOPT) -c $< -o $@ + - .f.o: - $(FORTRAN) $(OPTS) -c -o $@ $< ++dcabs1.o: dcabs1.f ++ $(FC) $(FFLAGS_NOOPT) -c $< -o $@ ++++++ lapack-3.8.0.tar.gz -> lapack-3.9.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/lapack/lapack-3.8.0.tar.gz /work/SRC/openSUSE:Factory/.lapack.new.2378/lapack-3.9.0.tar.gz differ: char 13, line 1
