The package rpms/openblas.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/openblas.git/commit/?id=f3b68ef59....
Change:
+%ifarch armv7hl
Thanks.
Full change:
============
commit 99cb63155f6126d4049dba0284ad25c2e8b01735
Author: Susi Lehtola <jussilehtola(a)fedoraproject.org>
Date: Mon Mar 2 06:00:45 2020 +0100
Update to 0.3.9.
diff --git a/.gitignore b/.gitignore
index 1fabb10..83cd3f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@
/openblas-0.3.6.tar.gz
/openblas-0.3.7.tar.gz
/openblas-0.3.8.tar.gz
+/openblas-0.3.9.tar.gz
diff --git a/openblas-0.3.8-noz15.patch b/openblas-0.3.8-noz15.patch
deleted file mode 100644
index fbb6bd5..0000000
--- a/openblas-0.3.8-noz15.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5a6bba3061f19923eb9972378021e6498bf8e5ed Mon Sep 17 00:00:00 2001
-From: Susi Lehtola <susi.lehtola(a)alumni.helsinki.fi>
-Date: Tue, 11 Feb 2020 15:07:33 +1300
-Subject: [PATCH] Patch out instances of Z15 in dynamic_zarch.c
-
-There does not appear to be a Z15 kernel yet, causing link errors from the code. This
patch fixes the issue.
----
- driver/others/dynamic_zarch.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/driver/others/dynamic_zarch.c b/driver/others/dynamic_zarch.c
-index 1206bf870..c7b82e4df 100644
---- a/driver/others/dynamic_zarch.c
-+++ b/driver/others/dynamic_zarch.c
-@@ -3,12 +3,12 @@
-
- extern gotoblas_t gotoblas_Z13;
- extern gotoblas_t gotoblas_Z14;
--extern gotoblas_t gotoblas_Z15;
-+//extern gotoblas_t gotoblas_Z15;
- //#if (!defined C_GCC) || (GCC_VERSION >= 60000)
- //extern gotoblas_t gotoblas_Z14;
- //#endif
-
--#define NUM_CORETYPES 5
-+#define NUM_CORETYPES 4
-
- extern void openblas_warning(int verbose, const char* msg);
-
-@@ -16,14 +16,14 @@ static char* corename[] = {
- "unknown",
- "Z13",
- "Z14",
-- "Z15",
-+// "Z15",
- "ZARCH_GENERIC",
- };
-
- char* gotoblas_corename(void) {
- if (gotoblas == &gotoblas_Z13) return corename[1];
- if (gotoblas == &gotoblas_Z14) return corename[2];
-- if (gotoblas == &gotoblas_Z15) return corename[3];
-+// if (gotoblas == &gotoblas_Z15) return corename[3];
- //#if (!defined C_GCC) || (GCC_VERSION >= 60000)
- // if (gotoblas == &gotoblas_POWER9) return corename[3];
- //#endif
-@@ -78,7 +78,7 @@ static gotoblas_t* force_coretype(char* coretype) {
- {
- case 1: return (&gotoblas_Z13);
- case 2: return (&gotoblas_Z14);
-- case 3: return (&gotoblas_Z15);
-+// case 3: return (&gotoblas_Z15);
- //#if (!defined C_GCC) || (GCC_VERSION >= 60000)
- // case 3: return (&gotoblas_POWER9);
- //#endif
diff --git a/openblas-0.3.8-zarch.patch b/openblas-0.3.8-zarch.patch
deleted file mode 100644
index 002cbf9..0000000
--- a/openblas-0.3.8-zarch.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From dff173e50e01d94e0741e4b4eaa1cf0aa01cf320 Mon Sep 17 00:00:00 2001
-From: Susi Lehtola <susi.lehtola(a)alumni.helsinki.fi>
-Date: Tue, 11 Feb 2020 14:46:30 +1300
-Subject: [PATCH] Fix typo in dynamic_zarch.c
-
----
- driver/others/dynamic_zarch.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/driver/others/dynamic_zarch.c b/driver/others/dynamic_zarch.c
-index 1206bf870..896e65bb4 100644
---- a/driver/others/dynamic_zarch.c
-+++ b/driver/others/dynamic_zarch.c
-@@ -31,7 +31,7 @@ char* gotoblas_corename(void) {
- }
-
- // __builtin_cpu_is is not supported by zarch
--static gotolabs_t* get_coretype(void) {
-+static gotoblas_t* get_coretype(void) {
- FILE* infile;
- char buffer[512], * p;
-
diff --git a/openblas.spec b/openblas.spec
index 6e4b99e..8c78853 100644
--- a/openblas.spec
+++ b/openblas.spec
@@ -14,7 +14,7 @@
# "obsoleted" features are still kept in the spec.
Name: openblas
-Version: 0.3.8
+Version: 0.3.9
Release: 1%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2
License: BSD
@@ -29,11 +29,6 @@ Patch2: openblas-0.2.15-constructor.patch
# Supply the proper flags to the test makefile
Patch3: openblas-0.3.7-tests.patch
-#
https://patch-diff.githubusercontent.com/raw/xianyi/OpenBLAS/pull/2405.patch
-Patch4: openblas-0.3.8-zarch.patch
-#
https://github.com/xianyi/OpenBLAS/pull/2407
-Patch5: openblas-0.3.8-noz15.patch
-
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
@@ -246,8 +241,6 @@ cd OpenBLAS-%{version}
%patch2 -p1 -b .constructor
%endif
%patch3 -p1 -b .tests
-%patch4 -p1 -b .zarch
-%patch5 -p1 -b .noz15
# Fix source permissions
find -name \*.f -exec chmod 644 {} \;
@@ -671,6 +664,9 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
%endif
%changelog
+* Mon Mar 02 2020 Susi Lehtola <jussilehtola(a)fedoraproject.org> - 0.3.9-1
+- Update to 0.3.9.
+
* Tue Feb 11 2020 Susi Lehtola <jussilehtola(a)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.
diff --git a/sources b/sources
index 1fd6105..3587dc1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (openblas-0.3.8.tar.gz) =
d557a332b1f905399d97dd5392ca10ca4eed47d669cae4abea374ed7c2e6c1ab29a4415df1224e940b9041e1545fa5ede2bdfb266986230436014795e7d3289d
+SHA512 (openblas-0.3.9.tar.gz) =
e34da25b3aaf959ec12826ac68c81e739e453d44f2dba28b15e57d7a827edc4d5f42988e9b6d98ac07999940be7b5876246cb3a980e590ae87f77f4c2f12f40a
commit f3b68ef59a7a48b494ec725d9aec8e164ea6a3c5
Author: Susi Lehtola <jussilehtola(a)fedoraproject.org>
Date: Tue Feb 11 21:35:50 2020 +0100
ARMv7 still doesn't have runtime cpu detection.
diff --git a/openblas.spec b/openblas.spec
index e580bab..6e4b99e 100644
--- a/openblas.spec
+++ b/openblas.spec
@@ -371,7 +371,8 @@ export AVX="NO_AVX2=1"
%endif
%ifarch armv7hl
-TARGET="TARGET=ARMV7 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
+# ARM v7 still doesn't have runtime cpu detection...
+TARGET="TARGET=ARMV7 DYNAMIC_ARCH=0"
%endif
%ifarch ppc64
TARGET="TARGET=POWER6 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1"
@@ -446,10 +447,20 @@ cp -a %{_includedir}/lapacke %{buildroot}%{_includedir}/%{name}
# Fix i686-x86_64 multilib difference
%multilib_fix_c_header --file %{_includedir}/openblas/openblas_config.h
-# Fix name of libraries
-slibname=`basename %{buildroot}%{_libdir}/libopenblas-*.so .so`
+# 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
+slibname=`basename %{buildroot}%{_libdir}/libopenblas${suffix}-*.so .so`
mv %{buildroot}%{_libdir}/${slibname}.a %{buildroot}%{_libdir}/lib%{name}.a
-sname=${slibname}
+if [[ "$suffix" != "" ]]; then
+ sname=$(echo $slibname | sed "s|$suffix||g")
+ mv %{buildroot}%{_libdir}/${slibname}.so %{buildroot}%{_libdir}/${sname}.so
+else
+ sname=${slibname}
+fi
# Install the Rblas library
mkdir -p %{buildroot}%{_libdir}/R/lib/
@@ -482,8 +493,13 @@ install -D -p -m 644 serial64/${slibname64}.a
%{buildroot}%{_libdir}/lib%{name}6
slibname64_=`echo ${slibname} | sed "s|lib%{name}|lib%{name}64_|g"`
install -D -p -m 644 serial64_/${slibname64_}.a %{buildroot}%{_libdir}/lib%{name}64_.a
-sname64=${slibname64}
-sname64_=${slibname64_}
+if [[ "$suffix" != "" ]]; then
+ sname64=$(echo ${slibname64} | sed "s|$suffix||g")
+ sname64_=$(echo ${slibname64_} | sed "s|$suffix||g")
+else
+ sname64=${slibname64}
+ sname64_=${slibname64_}
+fi
install -D -p -m 755 serial64/${slibname64}.so %{buildroot}%{_libdir}/${sname64}.so
install -D -p -m 755 serial64_/${slibname64_}.so %{buildroot}%{_libdir}/${sname64_}.so