diff --git a/openblas-0.3.2-tests.patch b/openblas-0.3.2-tests.patch deleted file mode 100644 index 0c75289a64a77ef1a1546d3038e3d20a5aebd64e..0000000000000000000000000000000000000000 --- a/openblas-0.3.2-tests.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up OpenBLAS-0.3.2/Makefile.tests OpenBLAS-0.3.2/Makefile ---- OpenBLAS-0.3.2/Makefile.tests 2018-08-02 14:12:01.615117002 +0200 -+++ OpenBLAS-0.3.2/Makefile 2018-08-02 14:13:29.582918971 +0200 -@@ -122,11 +122,11 @@ tests : - ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) - touch $(LIBNAME) - ifndef NO_FBLAS -- $(MAKE) -C test all -- $(MAKE) -C utest all -+ $(MAKE) -C test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all -+ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all - endif - ifndef NO_CBLAS -- $(MAKE) -C ctest all -+ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all - endif - endif - diff --git a/openblas-0.3.3-tls.patch b/openblas-0.3.3-tls.patch deleted file mode 100644 index 38ebefc2345bbe9e689a35d9a0eb57b888cf722b..0000000000000000000000000000000000000000 --- a/openblas-0.3.3-tls.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up OpenBLAS-0.3.3/Makefile.rule.tls OpenBLAS-0.3.3/Makefile.rule ---- OpenBLAS-0.3.3/Makefile.rule.tls 2018-08-31 00:07:48.000000000 +0200 -+++ OpenBLAS-0.3.3/Makefile.rule 2018-09-29 19:00:47.804678736 +0200 -@@ -113,7 +113,7 @@ USE_SIMPLE_THREADED_LEVEL3 = 1 - # thread-local storage instead of a central memory buffer in memory.c - # Note that if your system uses GLIBC, it needs to have at least glibc 2.21 - # for this to work. --USE_TLS = 1 -+#USE_TLS = 1 - - # If you want to drive whole 64bit region by BLAS. Not all Fortran - # compiler supports this. It's safe to keep comment it out if you diff --git a/openblas-0.3.7-tests.patch b/openblas-0.3.7-tests.patch new file mode 100644 index 0000000000000000000000000000000000000000..fbe2fdb7f97485dd7dec8e9fcc148f5424a012b7 --- /dev/null +++ b/openblas-0.3.7-tests.patch @@ -0,0 +1,42 @@ +diff -up OpenBLAS-0.3.7/Makefile.tests OpenBLAS-0.3.7/Makefile +--- OpenBLAS-0.3.7/Makefile.tests 2019-08-11 23:23:27.000000000 +0200 ++++ OpenBLAS-0.3.7/Makefile 2019-08-12 11:32:09.937281485 +0200 +@@ -123,13 +123,13 @@ tests : + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) + touch $(LIBNAME) + ifndef NO_FBLAS +- $(MAKE) -C test all ++ $(MAKE) -C test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all + endif +- $(MAKE) -C utest all ++ $(MAKE) -C utest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all + ifndef NO_CBLAS +- $(MAKE) -C ctest all ++ $(MAKE) -C ctest FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all + ifeq ($(CPP_THREAD_SAFETY_TEST), 1) +- $(MAKE) -C cpp_thread_test all ++ $(MAKE) -C cpp_thread_test FC="$(FC)" CC="$(CC)" COMMON_OPT="$(COMMON_OPT)" FCOMMON_OPT="$(FCOMMON_OPT)" all + endif + endif + endif +diff -up OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests OpenBLAS-0.3.7/cpp_thread_test/Makefile +--- OpenBLAS-0.3.7/cpp_thread_test/Makefile.tests 2019-08-11 19:23:00.000000000 +0000 ++++ OpenBLAS-0.3.7/cpp_thread_test/Makefile 2019-12-12 11:05:51.426334062 +0000 +@@ -1,13 +1,14 @@ +-include ../Makefile.rule ++TOPDIR = .. ++include $(TOPDIR)/Makefile.system + + all :: dgemv_tester dgemm_tester + + dgemv_tester : +- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../libopenblas.a -lpthread -o dgemv_tester ++ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemv_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemv_tester + ./dgemv_tester + + dgemm_tester : dgemv_tester +- $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../libopenblas.a -lpthread -o dgemm_tester ++ $(CXX) $(COMMON_OPT) -Wall -Wextra -Wshadow -fopenmp -std=c++11 dgemm_thread_safety.cpp ../$(LIBNAME) -lpthread -o dgemm_tester + ./dgemm_tester + + clean :: diff --git a/openblas-0.3.3.tar.gz b/openblas-0.3.9.tar.gz similarity index 58% rename from openblas-0.3.3.tar.gz rename to openblas-0.3.9.tar.gz index a714db3cecdb3959455b6d29ba06a0110ad6f6d4..a0807ee24abae06f443b722e4a2340ed8d54c5c9 100644 Binary files a/openblas-0.3.3.tar.gz and b/openblas-0.3.9.tar.gz differ diff --git a/openblas-move-declarations-of-lapack_complex_custom-types-.patch b/openblas-move-declarations-of-lapack_complex_custom-types-.patch new file mode 100644 index 0000000000000000000000000000000000000000..e4fc0d416d4651c242b328df5f8e49647a9938da --- /dev/null +++ b/openblas-move-declarations-of-lapack_complex_custom-types-.patch @@ -0,0 +1,73 @@ +From ee2e758278b5d82b7242f505ea694f082ef65879 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Fri, 13 Mar 2020 20:34:13 +0100 +Subject: [PATCH] Move declarations of lapack_complex_custom types outside the + extern C + +fixes #2510 +--- + lapack-netlib/LAPACKE/include/lapack.h | 44 ++++++++++++++------------ + 1 file changed, 23 insertions(+), 21 deletions(-) + +diff --git a/lapack-netlib/LAPACKE/include/lapack.h b/lapack-netlib/LAPACKE/include/lapack.h +index 0a6226fe4..36e53ec24 100644 +--- a/lapack-netlib/LAPACKE/include/lapack.h ++++ b/lapack-netlib/LAPACKE/include/lapack.h +@@ -12,27 +12,6 @@ + + #include + +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/*----------------------------------------------------------------------------*/ +-#ifndef lapack_int +-#define lapack_int int +-#endif +- +-#ifndef lapack_logical +-#define lapack_logical lapack_int +-#endif +- +-/* f2c, hence clapack and MacOS Accelerate, returns double instead of float +- * for sdot, slange, clange, etc. */ +-#if defined(LAPACK_F2C) +- typedef double lapack_float_return; +-#else +- typedef float lapack_float_return; +-#endif +- + /* Complex types are structures equivalent to the + * Fortran complex types COMPLEX(4) and COMPLEX(8). + * +@@ -88,6 +67,29 @@ extern "C" { + + #endif /* LAPACK_COMPLEX_CUSTOM */ + ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/*----------------------------------------------------------------------------*/ ++#ifndef lapack_int ++#define lapack_int int ++#endif ++ ++#ifndef lapack_logical ++#define lapack_logical lapack_int ++#endif ++ ++/* f2c, hence clapack and MacOS Accelerate, returns double instead of float ++ * for sdot, slange, clange, etc. */ ++#if defined(LAPACK_F2C) ++ typedef double lapack_float_return; ++#else ++ typedef float lapack_float_return; ++#endif ++ ++ + /* Callback logical functions of one, two, or three arguments are used + * to select eigenvalues to sort to the top left of the Schur form. + * The value is selected if function returns TRUE (non-zero). */ diff --git a/openblas.spec b/openblas.spec index abce721bb336ffa9d8a8c18a1e587b5b9832b1fb..f64df224284a5dc0c42f516fbde9d2b265843e7c 100644 --- a/openblas.spec +++ b/openblas.spec @@ -1,17 +1,17 @@ %bcond_with system_lapack Name: openblas -Version: 0.3.3 -Release: 3 +Version: 0.3.9 +Release: 1 Summary: An optimized BLAS library based on GotoBLAS2 1.13 BSD version License: BSD URL: https://github.com/xianyi/OpenBLAS/ Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz Patch0000: openblas-0.2.15-system_lapack.patch Patch0001: openblas-0.2.5-libname.patch -Patch0002: openblas-0.2.15-constructor.patch -Patch0003: openblas-0.3.2-tests.patch -Patch0004: openblas-0.3.3-tls.patch +Patch0002: openblas-0.3.7-tests.patch +Patch0003: openblas-move-declarations-of-lapack_complex_custom-types-.patch + Requires: %{name}-devel = %{version}-%{release} BuildRequires: gcc gcc-gfortran perl-devel @@ -58,8 +58,8 @@ cd OpenBLAS-%{version} %patch0000 -p1 -b .system_lapack %endif %patch0001 -p1 -b .libname -%patch0003 -p1 -b .tests -%patch0004 -p1 -b .tls +%patch0002 -p1 -b .tests +%patch0003 -p1 -b .cplusplus # Set source permissions find -name \*.f -exec chmod 644 {} \; @@ -172,7 +172,7 @@ COMMON="%{optflags} -fPIC" FCOMMON="%{optflags} -fPIC -frecursive" export LDFLAGS="%{__global_ldflags}" -make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0 +make -C Rblas $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0 # Declare some necessary build flags COMMON="%{optflags} -fPIC" @@ -183,7 +183,7 @@ make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O # USE_THREAD determines use of SMP, not of pthreads COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive" -make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 +make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=1} COMMON="%{optflags} -fPIC" FCOMMON="$COMMON -frecursive -fdefault-integer-8" @@ -192,7 +192,7 @@ make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_O COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 +make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 CPP_THREAD_SAFETY_TEST=1 COMMON="%{optflags} -fPIC" FCOMMON="$COMMON -frecursive -fdefault-integer-8" @@ -201,7 +201,7 @@ make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_ COMMON="%{optflags} -fPIC -fopenmp -pthread" FCOMMON="$COMMON -frecursive -fdefault-integer-8" -make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ +make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ CPP_THREAD_SAFETY_TEST=1 %install rm -rf %{buildroot} @@ -355,5 +355,8 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig %{_libdir}/lib%{name}*64_.so %changelog +* Fri Apr 17 2020 yuxiangyang - 0.3.9-1 +- Upgrade to 0.3.9 + * Wed Nov 13 2019 Alex Chao - 0.3.3-3 - Package init