Bug#924467: unblock: openblas/0.3.5+ds-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
Please unblock package openblas. The version in unstable fixes #923607 (FTBFS
when build host CPU is not detected).
Some bits of context:
OpenBLAS is an efficient implementation of BLAS (an API for numerical linear
algebra routines), that provides specialized kernels (with some assembly) for
different CPU micro-architectures.
On amd64, arm64 and i386, the selection of the kernel is done at runtime, after
detecting the CPU version (on other arches, the package is compiled with a
single kernel, compatible with the arch baseline).
It turns out that CPU detection is also done at build time, if the TARGET build
variable is not set, for initializing a few variables. This triggers an FTBFS
if the CPU is unknown to the build system.
The fix consist in building with TARGET=GENERIC (a dummy generic CPU
micro-archictecture). This also requires a small patch to make this works.
The debdiff is attached.
unblock openblas/0.3.5+ds-3
Thanks,
--
⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁ Debian Developer
⢿⡄⠘⠷⠚⠋⠀ http://sebastien.villemot.name
⠈⠳⣄⠀⠀⠀⠀ http://www.debian.org
diff -Nru openblas-0.3.5+ds/debian/changelog openblas-0.3.5+ds/debian/changelog
--- openblas-0.3.5+ds/debian/changelog 2019-02-09 10:38:22.000000000 +0100
+++ openblas-0.3.5+ds/debian/changelog 2019-03-11 10:18:39.000000000 +0100
@@ -1,3 +1,13 @@
+openblas (0.3.5+ds-3) unstable; urgency=medium
+
+ * Fix FTBFS when CPU of the build machine is not detected (amd64, arm64, i386)
+ - pass TARGET=GENERIC when building with DYNAMIC_ARCH=1
+ - target-generic.patch: new patch taken from upstream, makes the above
+ possible
+ (Closes: #923607)
+
+ -- Sébastien Villemot <sebastien@debian.org> Mon, 11 Mar 2019 10:18:39 +0100
+
openblas (0.3.5+ds-2) unstable; urgency=medium
* skylakex-dgemm.patch: new patch, fixes DGEMM regression on SkylakeX.
diff -Nru openblas-0.3.5+ds/debian/patches/series openblas-0.3.5+ds/debian/patches/series
--- openblas-0.3.5+ds/debian/patches/series 2019-02-09 10:35:46.000000000 +0100
+++ openblas-0.3.5+ds/debian/patches/series 2019-03-11 10:07:18.000000000 +0100
@@ -6,3 +6,4 @@
matgen-symbols-not-included.patch
order-files.patch
skylakex-dgemm.patch
+target-generic.patch
diff -Nru openblas-0.3.5+ds/debian/patches/target-generic.patch openblas-0.3.5+ds/debian/patches/target-generic.patch
--- openblas-0.3.5+ds/debian/patches/target-generic.patch 1970-01-01 01:00:00.000000000 +0100
+++ openblas-0.3.5+ds/debian/patches/target-generic.patch 2019-03-11 10:09:06.000000000 +0100
@@ -0,0 +1,20 @@
+Description: Make TARGET=GENERIC compatible with DYNAMIC_ARCH=1
+Origin: backport, https://github.com/xianyi/OpenBLAS/commit/5b95534afcc80d54f51bd766b617fd3f494ec65a
+Bug: https://github.com/xianyi/OpenBLAS/issues/2048
+Bug-Debian: https://bugs.debian.org/923607
+Last-Update: 2019-03-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/kernel/Makefile.L3 b/kernel/Makefile.L3
+index eafcfb1b..bf5fffe8 100644
+--- a/kernel/Makefile.L3
++++ b/kernel/Makefile.L3
+@@ -24,7 +24,7 @@ ifeq ($(TARGET), LOONGSON3B)
+ USE_TRMM = 1
+ endif
+
+-ifeq ($(TARGET), GENERIC)
++ifeq ($(CORE), GENERIC)
+ USE_TRMM = 1
+ endif
+
diff -Nru openblas-0.3.5+ds/debian/rules openblas-0.3.5+ds/debian/rules
--- openblas-0.3.5+ds/debian/rules 2018-12-07 15:31:18.000000000 +0100
+++ openblas-0.3.5+ds/debian/rules 2019-03-04 15:11:28.000000000 +0100
@@ -11,10 +11,11 @@
# Build generic package with hardcoded max number of threads of 64
GENERIC_OPTIONS := NUM_THREADS=64
-# On x86 archs, enable dynamic arch selection
+# On x86 and arm64 archs, enable dynamic arch selection
+# TARGET=GENERIC is needed to avoid FTBFS when CPU detectin fails (see #923607)
ENABLE_DYNAMIC_ARCHS := amd64 arm64 i386 kfreebsd-amd64 kfreebsd-i386
ifneq (,$(findstring $(DEB_HOST_ARCH),$(ENABLE_DYNAMIC_ARCHS)))
- GENERIC_OPTIONS += DYNAMIC_ARCH=1 DYNAMIC_OLDER=1
+ GENERIC_OPTIONS += DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 TARGET=GENERIC
endif
# For other archs, there is no dynamic arch selection. To avoid selecting a
Reply to: