Bug#978633: openblas: Please enabled support for riscv64
Aurelien Jarno
aurel32 at debian.org
Tue Dec 29 12:44:44 GMT 2020
Source: openblas
Version: 0.3.13+ds-1
Severity: normal
Tags: patch
User: debian-riscv at lists.debian.org
Usertags: riscv64
Hi,
openblas got support for riscv64 a few month ago. To enable support on
riscv64, small changes are needed to the debian/rules and debian/control
files, as well as a small fix for getarch.c that I have submitted
upstream: https://github.com/xianyi/OpenBLAS/pull/3050
I have attached the whole patch needed to add support for riscv64 to
this bug report. Would it be possible to include it in the next upload?
Thanks,
Aurelien
-------------- next part --------------
--- openblas-0.3.13+ds/debian/control 2020-12-17 12:51:33.000000000 +0000
+++ openblas-0.3.13+ds/debian/control 2020-12-28 11:08:31.000000000 +0000
@@ -7,7 +7,7 @@
Build-Depends: debhelper-compat (= 13),
gfortran,
liblapack-dev (>= 3.9.0-3~),
- liblapack64-dev (>= 3.9.0-3~) [amd64 arm64 ppc64el ppc64 kfreebsd-amd64 mips64el sparc64 s390x],
+ liblapack64-dev (>= 3.9.0-3~) [amd64 arm64 ppc64el ppc64 kfreebsd-amd64 mips64el riscv64 sparc64 s390x],
Standards-Version: 4.5.1
Vcs-Browser: https://salsa.debian.org/science-team/openblas
Vcs-Git: https://salsa.debian.org/science-team/openblas.git
@@ -17,7 +17,7 @@
# 32-bit indexing version
Package: libopenblas0
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: metapackages
Depends: ${misc:Depends},
@@ -38,7 +38,7 @@
"Building Optimized OpenBLAS Packages on your ARCH" in README.Debian
Package: libopenblas0-pthread
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -63,7 +63,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0
Package: libopenblas0-openmp
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -88,7 +88,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0
Package: libopenblas0-serial
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -113,7 +113,7 @@
Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0
Package: libopenblas-base
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: oldlibs
Depends: ${misc:Depends},
@@ -136,7 +136,7 @@
This is a transitional dummy package, which can be safely removed.
Package: libopenblas-dev
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: metapackages
Depends: libopenblas0 (= ${binary:Version}),
@@ -157,7 +157,7 @@
needed for program development.
Package: libopenblas-pthread-dev
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas0-pthread (= ${binary:Version}),
@@ -181,7 +181,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0
Package: libopenblas-openmp-dev
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas0-openmp (= ${binary:Version}),
@@ -205,7 +205,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0
Package: libopenblas-serial-dev
-Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el sparc64 s390x
+Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 kfreebsd-i386 kfreebsd-amd64 mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas0-serial (= ${binary:Version}),
@@ -231,7 +231,7 @@
# 64-bit indexing version
Package: libopenblas64-0
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: metapackages
Depends: ${misc:Depends},
@@ -250,7 +250,7 @@
This metapackage provides a 64-bit indexing version.
Package: libopenblas64-0-pthread
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -271,7 +271,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1
Package: libopenblas64-0-openmp
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -292,7 +292,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1
Package: libopenblas64-0-serial
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends},
@@ -313,7 +313,7 @@
Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1
Package: libopenblas64-dev
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: metapackages
Depends: libopenblas64-0 (= ${binary:Version}),
@@ -333,7 +333,7 @@
This metapackage provides a 64-bit indexing version.
Package: libopenblas64-pthread-dev
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas64-0-pthread (= ${binary:Version}),
@@ -354,7 +354,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1
Package: libopenblas64-openmp-dev
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas64-0-openmp (= ${binary:Version}),
@@ -375,7 +375,7 @@
Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1
Package: libopenblas64-serial-dev
-Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el sparc64 s390x
+Architecture: amd64 arm64 kfreebsd-amd64 ppc64 ppc64el mips64el riscv64 sparc64 s390x
Multi-Arch: same
Section: libdevel
Depends: libopenblas64-0-serial (= ${binary:Version}),
--- openblas-0.3.13+ds/debian/patches/riscv64-supported.patch 1970-01-01 00:00:00.000000000 +0000
+++ openblas-0.3.13+ds/debian/patches/riscv64-supported.patch 2020-12-28 11:08:44.000000000 +0000
@@ -0,0 +1,10 @@
+--- openblas-0.3.13+ds.orig/getarch.c
++++ openblas-0.3.13+ds/getarch.c
+@@ -1375,6 +1375,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+
+ #ifdef __riscv
+ #include "cpuid_riscv64.c"
++#define OPENBLAS_SUPPORTED
+ #endif
+
+ #ifdef __arm__
--- openblas-0.3.13+ds/debian/patches/series 2020-12-17 12:48:33.000000000 +0000
+++ openblas-0.3.13+ds/debian/patches/series 2020-12-28 11:08:44.000000000 +0000
@@ -5,3 +5,4 @@
shared-blas-lapack.patch
matgen-symbols-not-included.patch
gensymbols-fix-detect-netlib.patch
+riscv64-supported.patch
--- openblas-0.3.13+ds/debian/rules 2020-12-17 12:50:11.000000000 +0000
+++ openblas-0.3.13+ds/debian/rules 2020-12-28 11:08:44.000000000 +0000
@@ -43,6 +43,7 @@
# See https://buildd.debian.org/status/fetch.php?pkg=openblas&arch=ppc64&ver=0.3.6%2Bds-1&stamp=1562602383&raw=0
# POWER6 is the most generic arch that compiles on ppc64
TARGET_OPTION_ppc64 = TARGET=POWER6
+TARGET_OPTION_riscv64 = TARGET=RISCV64_GENERIC
TARGET_OPTION_sparc64 = TARGET=SPARC
TARGET_OPTION_s390x = TARGET=ZARCH_GENERIC
GENERIC_OPTIONS += $(TARGET_OPTION_$(DEB_HOST_ARCH))
More information about the debian-science-maintainers
mailing list