Compare commits

...

59 Commits
el6 ... master

Author SHA1 Message Date
Susi Lehtola 0dc13c877e Patch for C++ compatibility. 2020-04-02 14:00:31 +02:00
Susi Lehtola 99cb63155f Update to 0.3.9. 2020-03-02 06:00:45 +01:00
Susi Lehtola f3b68ef59a ARMv7 still doesn't have runtime cpu detection. 2020-02-11 21:35:50 +01:00
Susi Lehtola 4d572b6aca No Z15 kernel appears to exist for now. 2020-02-11 03:09:46 +01:00
Susi Lehtola 7dd89ce67c Fix typo in s390x code. 2020-02-11 02:48:35 +01:00
Susi Lehtola 3358058639 Update to 0.3.8, featuring dynamic cpu detection on all architectures. 2020-02-11 02:38:00 +01:00
Fedora Release Engineering 46e517974f - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 20:12:03 +00:00
Dominik 'Rathann' Mierzejewski ee852fd091 enable C++ thread safety test where applicable
See: https://github.com/xianyi/OpenBLAS/blob/develop/Makefile#L131
2019-12-13 14:33:25 +01:00
Dominik 'Rathann' Mierzejewski ed0e4ed4e5 fix USEOPENMP/USE_OPENMP typo in Rblas make call 2019-12-11 14:19:08 +01:00
Susi Lehtola 5b3b53ac69 Update tests patch. 2019-08-12 11:33:02 +02:00
Susi Lehtola a94fde6be8 Update to 0.3.7. 2019-08-12 11:13:10 +02:00
Fedora Release Engineering e16a28cf6f - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 23:22:12 +00:00
Susi Lehtola 492f197de6 Bump spec 2019-07-02 14:33:39 +02:00
Susi Lehtola 64c2df1d85 Update to 0.3.6. 2019-04-30 12:00:26 +02:00
Susi Lehtola 4e591d8725 More patches 2019-02-26 01:11:21 +01:00
Susi Lehtola ee6a88c55d Add another assembly kernel patch. 2019-02-25 10:18:57 +01:00
Susi Lehtola 03740aadce Fix patch level 2019-02-17 21:49:09 +01:00
Susi Lehtola 2a8a1574d7 Import patches from upstream to fix gcc 9 compatibility. 2019-02-17 21:36:32 +01:00
Fedora Release Engineering 2529d97e84 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 17:18:57 +00:00
Igor Gnatenko 19946032f9 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:23 +01:00
Igor Gnatenko 09825fb09a
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:40:34 +01:00
Susi Lehtola c2e6ea0c69 No more suffix on aarch64 2019-01-07 16:41:20 +01:00
Susi Lehtola aa1356a8e5 Fix typo 2019-01-07 16:10:20 +01:00
Susi Lehtola 53f8e436b9 Update to 0.3.5, enabling dynamic CPU detection on aarch64. 2019-01-07 16:09:51 +01:00
Nikola Forró 5ba251ab16 Fix i686-x86_64 multilib difference.
Get rid of executable stack in libRblas.so.
2018-11-09 13:02:51 +01:00
Susi Lehtola 2465d26793 Fix segfault. 2018-09-29 19:05:45 +02:00
Susi Lehtola ebcadc8f7a Fix segfault. 2018-09-29 19:04:59 +02:00
Susi Lehtola 7838a94118 Update to 0.3.3. 2018-09-09 10:33:57 +02:00
Susi Lehtola 9fdb102afd Update to 0.3.3. 2018-09-09 10:26:33 +02:00
Dan Horák 1aae703b57 - Fix precision in generic target on s390x 2018-08-29 20:02:08 +02:00
Susi Lehtola 56e91ff6be Add patch to avoid threading issues. 2018-08-24 18:48:32 +02:00
Susi Lehtola b24abed397 Fix second date typo... 2018-08-24 18:41:43 +02:00
Susi Lehtola b921c4b456 Fix date typo. 2018-08-24 18:41:12 +02:00
Susi Lehtola 72915d5464 Add missing %{optflags}. 2018-08-24 18:40:04 +02:00
Dan Horák 1cd0139cf2 - Explicitly set the target to generic on s390x to avoid surprises (#1615760) 2018-08-15 09:21:30 +02:00
Susi Lehtola bf5eb9904a Update patch. 2018-08-02 14:15:24 +02:00
Susi Lehtola 38b97aef71 Update to 0.3.2. 2018-08-02 14:07:57 +02:00
Susi Lehtola 3ede871da1 Only one underscore necessary. 2018-07-23 10:47:32 +02:00
Susi Lehtola 0e4914d7aa Fix build on s390x. 2018-07-23 09:21:48 +02:00
Susi Lehtola a5bfa867a0 Fix crash with multiple instances. 2018-07-22 17:05:31 +02:00
Fedora Release Engineering 1f6eccf360 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 15:02:45 +00:00
Susi Lehtola 7647c49de0 Drop obsoleted patch. 2018-07-01 19:25:36 +02:00
Susi Lehtola 7b9322f323 Update to 0.3.1. 2018-07-01 19:14:18 +02:00
Susi Lehtola 624dbc2790 Split sequential libraries from base package to openblas-serial. 2018-06-11 17:37:06 +02:00
Susi Lehtola b344534ab3 Fix build on ppc64le. 2018-06-02 00:35:38 +02:00
Susi Lehtola dab62fddac Update to 0.3.0 2018-05-24 04:01:58 +02:00
Susi Lehtola 04dda99dcb Fix bogus date 2018-03-22 17:13:25 +01:00
Susi Lehtola 42355d300f Disable CPU affinity. 2018-03-22 16:29:34 +01:00
Susi Lehtola 37b74659ce Clean up obsolete 64 bit conditionals. 2018-03-04 22:28:09 +01:00
Susi Lehtola df383771d4 build_ldflags doesn't work on anything older than F28. 2018-02-27 12:51:59 +01:00
Susi Lehtola 0b4debe861 Use Fedora LDFLAGS. 2018-02-27 12:10:18 +01:00
Susi Lehtola 27489e02d2 Drop arch-dependent buildrequires (doesn't affect binary packages). 2018-02-14 17:19:04 +01:00
Susi Lehtola 6b477963d3 Drop arch-dependent buildrequires (doesn't affect binary packages). 2018-02-14 17:18:02 +01:00
Igor Gnatenko 71f94f1cf8
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:23:42 +01:00
Igor Gnatenko 81bfc49af3 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:57:33 +01:00
Fedora Release Engineering e725c20b03 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 09:22:25 +00:00
Florian Weimer 7bd44c7285 Rebuild for GCC 8 2018-01-30 09:42:57 +01:00
Susi Lehtola 91b0b52364 Simplify spec. 2017-09-14 14:01:02 +02:00
Fedora Release Engineering 91f17b88d6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 04:29:20 +00:00
5 changed files with 343 additions and 92 deletions

7
.gitignore vendored
View File

@ -12,3 +12,10 @@
/openblas-0.2.17.tar.gz
/v0.2.18.tar.gz
/v0.2.19.tar.gz
/v0.3.0.tar.gz
/v0.3.1.tar.gz
/openblas-0.3.2.tar.gz
/openblas-0.3.6.tar.gz
/openblas-0.3.7.tar.gz
/openblas-0.3.8.tar.gz
/openblas-0.3.9.tar.gz

View File

@ -0,0 +1,73 @@
From ee2e758278b5d82b7242f505ea694f082ef65879 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
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 <stdlib.h>
-#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). */

View File

@ -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 ::

View File

@ -1,6 +1,6 @@
%bcond_with system_lapack
# Version of bundled lapack
%global lapackver 3.7.0
%global lapackver 3.9.0
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
# MAINTAINER FIRST!
@ -14,13 +14,12 @@
# "obsoleted" features are still kept in the spec.
Name: openblas
Version: 0.2.20
Release: 1%{?dist}
Version: 0.3.9
Release: 2%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2
Group: Development/Libraries
License: BSD
URL: https://github.com/xianyi/OpenBLAS/
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}/openblas-%{version}.tar.gz
# Use system lapack
Patch0: openblas-0.2.15-system_lapack.patch
# Drop extra p from threaded library name
@ -28,12 +27,16 @@ Patch1: openblas-0.2.5-libname.patch
# Don't use constructor priorities on too old architectures
Patch2: openblas-0.2.15-constructor.patch
# Supply the proper flags to the test makefile
Patch3: openblas-0.2.19-tests.patch
Patch3: openblas-0.3.7-tests.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
# Fix C++ compatibility (BZ #1820131)
Patch4: https://github.com/xianyi/OpenBLAS/commit/ee2e758278b5d82b7242f505ea694f082ef65879.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: perl-devel
BuildRequires: multilib-rpm-config
# Do we have execstack?
%if 0%{?rhel} == 7
@ -52,9 +55,9 @@ BuildRequires: /usr/bin/execstack
# LAPACK
%if %{with system_lapack}
%if 0%{?rhel} == 5 || 0%{?rhel} == 6
BuildRequires: lapack-devel%{?_isa}
BuildRequires: lapack-devel
%else
BuildRequires: lapack-static%{?_isa}
BuildRequires: lapack-static
%endif
# Do we have LAPACKE? (Needs at least lapack 3.4.0)
%if 0%{?fedora}
@ -70,15 +73,12 @@ Provides: bundled(lapack) = %{lapackver}
%endif
# Build 64-bit interface binaries?
%if 0%{?rhel} == 5 || 0%{?rhel} == 6
# RPM too old to know __isa_bits in RHEL 5, and lapack64 doesn't exist in RHEL 6
%global build64 0
%else
%if 0%{?__isa_bits} == 64
%global build64 1
%bcond_without cpp_thread_check
%else
%global build64 0
%endif
%bcond_with cpp_thread_check
%endif
%if %{with system_lapack}
@ -101,97 +101,108 @@ Computational Science, ISCAS. http://www.rdcps.ac.cn
%{base_description}
%package Rblas
Summary: A version of OpenBLAS for R to use as libRblas
Group: Development/Libraries
Summary: A version of OpenBLAS for R to use as libRblas
%description Rblas
%{base_description}
%package serial
Summary: An optimized BLAS library based on GotoBLAS2, serial version
Requires: %{name} = %{version}-%{release}
%description serial
%{base_description}
This package contains the sequential library compiled with a 32-bit
integer interface.
%package openmp
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description openmp
%{base_description}
This package contains the library compiled with OpenMP support.
This package contains the library compiled with OpenMP support with
32-bit integer interface.
%package threads
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description threads
%{base_description}
This package contains the library compiled with threading support.
This package contains the library compiled with threading support and
a 32-bit integer interface.
%if %build64
%package serial64
Summary: An optimized BLAS library based on GotoBLAS2, serial version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description serial64
%{base_description}
This package contains the sequential library compiled with a 64-bit
interface.
integer interface.
%package openmp64
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description openmp64
%{base_description}
This package contains the library compiled with OpenMP support and
64-bit interface.
64-bit integer interface.
%package threads64
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description threads64
%{base_description}
This package contains the library compiled with threading support and
64-bit interface.
64-bit integer interface.
%package serial64_
Summary: An optimized BLAS library based on GotoBLAS2, serial version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description serial64_
%{base_description}
This package contains the sequential library compiled with a 64-bit
interface and a symbol name suffix.
integer interface and a symbol name suffix.
%package openmp64_
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description openmp64_
%{base_description}
This package contains the library compiled with OpenMP support and
64-bit interface and a symbol name suffix.
64-bit integer interface and a symbol name suffix.
%package threads64_
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description threads64_
%{base_description}
This package contains the library compiled with threading support and
64-bit interface and a symbol name suffix.
64-bit integer interface and a symbol name suffix.
%endif
%package devel
Summary: Development headers and libraries for OpenBLAS
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-serial%{?_isa} = %{version}-%{release}
Requires: %{name}-openmp%{?_isa} = %{version}-%{release}
Requires: %{name}-threads%{?_isa} = %{version}-%{release}
%if %build64
@ -211,7 +222,6 @@ This package contains the development headers and libraries.
%package static
Summary: Static version of OpenBLAS
Group: Development/Libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
@ -234,6 +244,7 @@ cd OpenBLAS-%{version}
%patch2 -p1 -b .constructor
%endif
%patch3 -p1 -b .tests
%patch4 -p1 -b .cplusplus
# Fix source permissions
find -name \*.f -exec chmod 644 {} \;
@ -345,7 +356,7 @@ LAPACKE="NO_LAPACKE=1"
NMAX="NUM_THREADS=128"
%ifarch %{ix86} x86_64
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1"
TARGET="TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
# Compability for old versions of GCC
%if 0%{?rhel} == 5
@ -357,44 +368,67 @@ export AVX="NO_AVX2=1"
%endif
%ifarch armv7hl
# ARM v7 still doesn't have runtime cpu detection...
TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0"
%endif
%ifarch ppc64
TARGET="TARGET=POWER6 DYNAMIC_ARCH=0"
TARGET="TARGET=POWER6 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%ifarch ppc64p7
TARGET="TARGET=POWER7 DYNAMIC_ARCH=0"
TARGET="TARGET=POWER7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%ifarch ppc64le
TARGET="TARGET=POWER8 DYNAMIC_ARCH=0"
TARGET="TARGET=POWER8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%ifarch aarch64
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
TARGET="TARGET=ARMV8 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%ifarch s390x
TARGET="TARGET=ZARCH_GENERIC DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
%endif
%if 0%{?rhel} == 5
# Gfortran too old to recognize -frecursive
FCOMMON="%{optflags}"
COMMON="%{optflags} -fPIC"
FCOMMON="%{optflags} -fPIC"
%else
FCOMMON="%{optflags} -frecursive"
COMMON="%{optflags} -fPIC"
FCOMMON="%{optflags} -fPIC -frecursive"
%endif
# Use Fedora linker flags
export LDFLAGS="%{__global_ldflags}"
make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $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
make -C serial $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive"
make -C serial $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
# USE_THREAD determines use of SMP, not of pthreads
make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 EXTRALIB="-fopenmp -lgfortran -lm"
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 %{with cpp_thread_check:CPP_THREAD_SAFETY_TEST=1}
%if %build64
make -C serial64 $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 EXTRALIB="-fopenmp -lgfortran -lm"
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C serial64 $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
make -C serial64_ $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ EXTRALIB="-fopenmp -lgfortran -lm"
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 CPP_THREAD_SAFETY_TEST=1
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C serial64_ $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
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_ CPP_THREAD_SAFETY_TEST=1
%endif
%install
@ -407,25 +441,15 @@ make -C serial USE_THREAD=0 PREFIX=%{buildroot} OPENBLAS_LIBRARY_DIR=%{buildroot
cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name}
%endif
# Fix name of libraries
# Fix i686-x86_64 multilib difference
%multilib_fix_c_header --file %{_includedir}/openblas/openblas_config.h
# Fix name of libraries: runtime CPU detection has none
suffix=""
# but archs that don't have it do have one
%ifarch armv7hl
suffix="_armv7"
%endif
%ifarch ppc64
suffix="_power6"
%endif
%ifarch ppc64p7
suffix="_power7"
%endif
%ifarch ppc64le
suffix="_power8"
%endif
%ifarch aarch64
suffix="_armv8"
%endif
%ifarch s390x
suffix="_zarch_generic"
%endif
slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
if [[ "$suffix" != "" ]]; then
@ -542,6 +566,9 @@ ln -sf ${pname64_}.so lib%{name}p64_.so.0
for lib in %{buildroot}%{_libdir}/libopenblas*.so; do
execstack -c $lib
done
for lib in %{buildroot}%{_libdir}/R/lib/libRblas*.so; do
execstack -c $lib
done
%endif
# Get rid of generated CMake config
@ -549,40 +576,30 @@ rm -rf %{buildroot}%{_libdir}/cmake
# Get rid of generated pkgconfig
rm -rf %{buildroot}%{_libdir}/pkgconfig
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%post openmp -p /sbin/ldconfig
%postun openmp -p /sbin/ldconfig
%ldconfig_scriptlets openmp
%post Rblas -p /sbin/ldconfig
%postun Rblas -p /sbin/ldconfig
%ldconfig_scriptlets Rblas
%post threads -p /sbin/ldconfig
%postun threads -p /sbin/ldconfig
%ldconfig_scriptlets threads
%if %build64
%post openmp64 -p /sbin/ldconfig
%postun openmp64 -p /sbin/ldconfig
%post openmp64_ -p /sbin/ldconfig
%postun openmp64_ -p /sbin/ldconfig
%ldconfig_scriptlets openmp64
%ldconfig_scriptlets openmp64_
%post serial64 -p /sbin/ldconfig
%postun serial64 -p /sbin/ldconfig
%post serial64_ -p /sbin/ldconfig
%postun serial64_ -p /sbin/ldconfig
%ldconfig_scriptlets serial64
%ldconfig_scriptlets serial64_
%post threads64 -p /sbin/ldconfig
%postun threads64 -p /sbin/ldconfig
%post threads64_ -p /sbin/ldconfig
%postun threads64_ -p /sbin/ldconfig
%ldconfig_scriptlets threads64
%ldconfig_scriptlets threads64_
%endif
%clean
rm -rf %{buildroot}
%files
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE
%license serial/LICENSE
%doc serial/Changelog.txt serial/GotoBLAS*
%files serial
%{_libdir}/lib%{name}-*.so
%{_libdir}/lib%{name}.so.*
@ -651,6 +668,118 @@ rm -rf %{buildroot}
%endif
%changelog
* Thu Apr 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-2
- Patch for BZ #1820131.
* Mon Mar 02 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.9-1
- Update to 0.3.9.
* Tue Feb 11 2020 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.8-1
- Update to 0.3.8; dynamic runtime cpu detection on all architectures.
- Also updates bundled LAPACK to 3.9.0.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 11 2019 Dominik Mierzejewski <rpm@greysector.net> - 0.3.7-2
- enable C++ thread safety test where possible
* Mon Aug 12 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.7-1
- Update to 0.3.7.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jul 02 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-2
- Rebuild since older build doesn't show up in updates system.
* Tue Apr 30 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.6-1
- Update to 0.3.6.
* Tue Feb 26 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-5
- Even more assembly kernel patches.
* Mon Feb 25 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-4
- Another assembly kernel patch.
* Sun Feb 17 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-3
- Patch assembly kernels to satisfy gcc 9 demands.
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 07 2019 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.5-1
- Update to 0.3.5, with dynamic CPU detection on aarch64.
* Fri Nov 09 2018 Nikola Forró <nforro@redhat.com> - 0.3.3-3
- Fix i686-x86_64 multilib difference.
- Get rid of executable stack in libRblas.so.
* Sat Sep 29 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-2
- Fix segfault (BZ #1634060).
* Sun Sep 09 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.3-1
- Update to 0.3.3.
* Wed Aug 29 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-5
- Fix precision in generic target on s390x
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-4
- Patch to avoid threading issues.
* Fri Aug 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-3
- Add missing %%{optflags} to COMMON (see discussion in #1619074).
* Wed Aug 15 2018 Dan Horák <dan[at]danny.cz> - 0.3.2-2
- Explicitly set the target to generic on s390x to avoid surprises (#1615760)
* Thu Aug 02 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.2-1
- Update to 0.3.2.
* Sun Jul 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-3
- Fix crash with multiple instances (BZ #1605231).
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Jul 01 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.1-1
- Update to 0.3.1.
* Mon Jun 11 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-2
- Split sequential libraries from core package to openblas-serial.
* Thu May 24 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-1
- Update to 0.3.0.
* Thu Mar 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-10
- Disable CPU affinity unintentionally enabled upstream (BZ #1558091).
* Sun Mar 04 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-9
- Clean up obsolete conditionals for 64 bit builds in spec file.
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-8
- Use %%__global_ldflags instead of %%build_ldflags that doesn't work on
all distributions.
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-7
- Honor Fedora linker flags (BZ #1548750).
* Wed Feb 14 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-6
- Drop arch-dependent buildrequires (BZ #1545201); no changes to package
(only affects packages custom built with --with system_lapack).
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.20-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 30 2018 Florian Weimer <fweimer@redhat.com> - 0.2.20-4
- Rebuild for GCC 8
* Thu Sep 14 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-3
- Simplify spec, dropping extra lib arguments.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Fri Jul 28 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-1
- Update to 0.2.20.

View File

@ -1 +1 @@
SHA512 (v0.2.20.tar.gz) = 8dfc8e8c8d456b834d2e9544c8eadd9f4770e30db8b8dd76af601ec0735fd86c9cf63dd6a03ccd23fc02ec2e05069a09875b9073dfe29f99aadab3a958ae2634
SHA512 (openblas-0.3.9.tar.gz) = e34da25b3aaf959ec12826ac68c81e739e453d44f2dba28b15e57d7a827edc4d5f42988e9b6d98ac07999940be7b5876246cb3a980e590ae87f77f4c2f12f40a