From 37a87982a6a926f2045ec9540e394738ded36568 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 1/9] Import openblas_0.3.28+ds-3.debian.tar.xz [dgit import tarball openblas 0.3.28+ds-3 openblas_0.3.28+ds-3.debian.tar.xz] --- README.Debian | 73 ++ blas-openblas.pc.in | 10 + changelog | 1125 +++++++++++++++++ control | 398 ++++++ copyright | 651 ++++++++++ lapack-openblas.pc.in | 10 + libopenblas-XXX-dev.dirs | 2 + libopenblas-XXX-dev.install | 5 + libopenblas-XXX-dev.links | 4 + libopenblas-XXX-dev.postinst | 62 + libopenblas-XXX-dev.prerm | 19 + libopenblas-dev.docs | 4 + libopenblas-dev.lintian-overrides | 1 + libopenblas0-XXX.install | 4 + libopenblas0-XXX.postinst | 18 + libopenblas0-XXX.prerm | 18 + libopenblas0-XXX.shlibs | 8 + libopenblas0-openmp.lintian-overrides | 2 + libopenblas0-pthread.lintian-overrides | 2 + libopenblas0-serial.lintian-overrides | 2 + libopenblas0.lintian-overrides | 1 + libopenblas64-0-XXX.install | 4 + libopenblas64-0-XXX.postinst | 18 + libopenblas64-0-XXX.prerm | 18 + libopenblas64-0-XXX.shlibs | 8 + libopenblas64-0-openmp.lintian-overrides | 2 + libopenblas64-0-pthread.lintian-overrides | 2 + libopenblas64-0-serial.lintian-overrides | 2 + libopenblas64-0.lintian-overrides | 1 + libopenblas64-XXX-dev.dirs | 2 + libopenblas64-XXX-dev.install | 5 + libopenblas64-XXX-dev.links | 4 + libopenblas64-XXX-dev.postinst | 62 + libopenblas64-XXX-dev.prerm | 19 + libopenblas64-dev.lintian-overrides | 1 + patches/arm-gcc-flags.patch | 22 + patches/combssq-deprecate.patch | 22 + patches/gcc14-mips64el.patch | 33 + patches/matgen-symbols-not-included.patch | 112 ++ patches/no-embedded-lapack.patch | 169 +++ ...fined-reference-to-blas_set_parameter.patc | 19 + patches/remove-openmp-warning.patch | 27 + patches/series | 8 + patches/shared-blas-lapack.patch | 52 + rules | 238 ++++ source/format | 1 + tests/control | 23 + tests/upstream-testsuite | 24 + tests/upstream-testsuite64 | 29 + upstream/metadata | 7 + watch | 3 + 51 files changed, 3356 insertions(+) create mode 100644 README.Debian create mode 100644 blas-openblas.pc.in create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 lapack-openblas.pc.in create mode 100644 libopenblas-XXX-dev.dirs create mode 100644 libopenblas-XXX-dev.install create mode 100644 libopenblas-XXX-dev.links create mode 100644 libopenblas-XXX-dev.postinst create mode 100644 libopenblas-XXX-dev.prerm create mode 100644 libopenblas-dev.docs create mode 100644 libopenblas-dev.lintian-overrides create mode 100644 libopenblas0-XXX.install create mode 100644 libopenblas0-XXX.postinst create mode 100644 libopenblas0-XXX.prerm create mode 100644 libopenblas0-XXX.shlibs create mode 100644 libopenblas0-openmp.lintian-overrides create mode 100644 libopenblas0-pthread.lintian-overrides create mode 100644 libopenblas0-serial.lintian-overrides create mode 100644 libopenblas0.lintian-overrides create mode 100644 libopenblas64-0-XXX.install create mode 100644 libopenblas64-0-XXX.postinst create mode 100644 libopenblas64-0-XXX.prerm create mode 100644 libopenblas64-0-XXX.shlibs create mode 100644 libopenblas64-0-openmp.lintian-overrides create mode 100644 libopenblas64-0-pthread.lintian-overrides create mode 100644 libopenblas64-0-serial.lintian-overrides create mode 100644 libopenblas64-0.lintian-overrides create mode 100644 libopenblas64-XXX-dev.dirs create mode 100644 libopenblas64-XXX-dev.install create mode 100644 libopenblas64-XXX-dev.links create mode 100644 libopenblas64-XXX-dev.postinst create mode 100644 libopenblas64-XXX-dev.prerm create mode 100644 libopenblas64-dev.lintian-overrides create mode 100644 patches/arm-gcc-flags.patch create mode 100644 patches/combssq-deprecate.patch create mode 100644 patches/gcc14-mips64el.patch create mode 100644 patches/matgen-symbols-not-included.patch create mode 100644 patches/no-embedded-lapack.patch create mode 100644 patches/openblas-Fixed-undefined-reference-to-blas_set_parameter.patc create mode 100644 patches/remove-openmp-warning.patch create mode 100644 patches/series create mode 100644 patches/shared-blas-lapack.patch create mode 100755 rules create mode 100644 source/format create mode 100644 tests/control create mode 100644 tests/upstream-testsuite create mode 100644 tests/upstream-testsuite64 create mode 100644 upstream/metadata create mode 100644 watch diff --git a/README.Debian b/README.Debian new file mode 100644 index 00000000..03033e9a --- /dev/null +++ b/README.Debian @@ -0,0 +1,73 @@ +How to switch between the various BLAS/LAPACK implementations +============================================================= + +- BLAS: + + $ sudo update-alternatives --config libblas.so.3- + +- LAPACK: + + $ sudo update-alternatives --config liblapack.so.3- + +where is the multiarch path for you architecture (e.g. +x86_64-linux-gnu for amd64). + +More information is available at: + + http://wiki.debian.org/DebianScience/LinearAlgebraLibraries + + +Building an optimized OpenBLAS package for your machine +======================================================= + +On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, libopenblas +provides a multiple architecture library. All kernels are included in the +library and the one matching best your processor is selected at run time. +Recompiling locally should bring minimal performance improvement. + +On the contrary, on other architectures, the package is compiled with minimal +optimizations, so that it can run on all hardware. You may want to recompile it +locally for optimal performance. + +If you want to create a custom OpenBLAS package, optimized for your specific +machine, proceed as follows. + +1) Install the build dependencies and the source of the package: + + $ sudo apt-get build-dep openblas + $ apt-get source openblas + +2) Compile the package: + + $ cd openblas- + $ DEB_BUILD_OPTIONS=custom dpkg-buildpackage -uc -b + +where is replaced with the appropriate value. + +3) When the build finishes, it should produce several .deb files, whose precise +names you can figure out using: + + $ ls ../libopenblas*.deb + +Install those that you want using dpkg. For the 32-bit indexing version, you +need at least libopenblas0 and one of the three of +libopenblas0-{openmp,pthread,serial}. For the 64-bit indexing version, you need +at least libopenblas64-0 and one of the three of +libopenblas64-0-{openmp,pthread,serial} + +4) If you don't want the Debian package manager to overwrite your optimized +package with a generic one on system upgrades, you can mark the OpenBLAS +package to be on hold, with the following command (for the 32-bit indexing +version): + + $ sudo apt-mark hold libopenblas0 libopenblas0-{openmp,pthread,serial} + +Don't forget however to periodically check whether a more recent version of the +package is available for the Debian suite that you are tracking, in which case +you should go again through this procedure. The version check can be performed +using: + + $ aptitude versions libopenblas0 + + -- Sébastien Villemot , Sun, 11 Aug 2024 10:34:19 +0200 + -- Sylvestre Ledru Tue, 31 May 2011 13:56:22 +0200 diff --git a/blas-openblas.pc.in b/blas-openblas.pc.in new file mode 100644 index 00000000..0433883c --- /dev/null +++ b/blas-openblas.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@ +includedir=${prefix}/include/@DEB_HOST_MULTIARCH@ +Name: openblas-blas@INDEXING@ +Description: Optimized BLAS (linear algebra) library based on GotoBLAS2 +Version: @DEB_VERSION_UPSTREAM@ +URL: https://github.com/OpenMathLib/OpenBLAS +Libs: -L${libdir} -lblas@INDEXING@ +Libs.private: -L${libdir} -lblas@INDEXING@ -lgfortran -lpthread -lm +Cflags: -I${includedir} diff --git a/changelog b/changelog new file mode 100644 index 00000000..4e3be578 --- /dev/null +++ b/changelog @@ -0,0 +1,1125 @@ +openblas (0.3.28+ds-3) unstable; urgency=medium + + * Team upload. + + [ Dandan Zhang ] + * Add upstream merged patch to fix undefined reference to + blas_set_parameter (Closes: #1086535) + + -- Gianfranco Costamagna Fri, 08 Nov 2024 14:59:11 +0100 + +openblas (0.3.28+ds-2) unstable; urgency=medium + + * gcc14-mips64el.patch: new patch, fixes FTBFS on mips64el + + -- Sébastien Villemot Tue, 13 Aug 2024 22:05:18 +0200 + +openblas (0.3.28+ds-1) unstable; urgency=medium + + * New upstream version 0.3.28+ds + * d/copyright: reflect upstream changes + * testsuite-64bit-big-endian.patch: drop patch, applied upstream + * Enable dynamic arch support on riscv64 + + -- Sébastien Villemot Sun, 11 Aug 2024 10:37:39 +0200 + +openblas (0.3.27+ds-2) unstable; urgency=medium + + * testsuite-64bit-big-endian.patch: new patch from upstream. + Fixes FTBFS on big-endian 64-bit architectures. + + -- Sébastien Villemot Mon, 29 Apr 2024 17:31:55 +0200 + +openblas (0.3.27+ds-1) unstable; urgency=medium + + [ Sébastien Villemot ] + * New upstream version 0.3.27+ds + * d/copyright: reflect upstream changes + * Bump Standards-Version to 4.7.0 + + [ Sunita Nadampalli ] + * Increase the maximum number of threads from 64 to 128. This is + required to support the latest processors with more than 64 cores. For + example, AWS Graviton4 supports 96 Neoverse cores. + + [ Helmut Grohne ] + * DEP17: Restore possibly lost /usr/lib/*/pkgconfig (Closes: #1065681) + + -- Sébastien Villemot Fri, 12 Apr 2024 16:26:31 +0200 + +openblas (0.3.26+ds-1) unstable; urgency=medium + + * New upstream version 0.3.26+ds + + -- Sébastien Villemot Mon, 12 Feb 2024 22:45:46 +0100 + +openblas (0.3.25+ds-2) unstable; urgency=medium + + * Rebuild against LAPACK 3.12 + + Tighten Build-Depends on liblapack-dev accordingly + + Drop revert-lapack-gedmd.patch, no longer needed + * Update URL of GitHub repository + + -- Sébastien Villemot Wed, 31 Jan 2024 11:58:49 +0100 + +openblas (0.3.25+ds-1) unstable; urgency=medium + + * New upstream version 0.3.25+ds + + -- Sébastien Villemot Tue, 14 Nov 2023 20:25:25 +0100 + +openblas (0.3.24+ds-1) unstable; urgency=medium + + * New upstream version 0.3.24+ds + * d/copyright: reflect upstream changes + * mips64-generic.patch: drop patch, applied upstream + * revert-lapack-gedmd.patch: new patch for compiling against LAPACK 3.11 + * Build on loong64 architecture + * d/rules: pass the number of requested parallel jobs to the build system. + Previously the build system would always use as many parallel jobs as there + are logical CPU cores. + + -- Sébastien Villemot Sat, 09 Sep 2023 18:58:39 +0200 + +openblas (0.3.23+ds-3) unstable; urgency=medium + + * mips64-generic.patch: new patch from upstream. + Fixes incorrect numerical results on mips64el. (Closes: #1043048) + * shared-blas-lapack.patch: restore missing symbols in liblapack64.so.3. + Many symbols were inadvertently dropped in version 0.3.22+ds-1, + because of the overhaul of no-embedded-lapack.patch that removed the + lapack64-netlib directory. (Closes: #1039904) + * shared-blas-lapack.patch: add missing clean rule for lib{blas,lapack}64.so.3 + * Remove all references to kfreebsd-{amd64,i386} ports + * README.Debian: update binary packages names for custom installation + procedure + + -- Sébastien Villemot Sun, 06 Aug 2023 20:45:18 +0200 + +openblas (0.3.23+ds-2) unstable; urgency=medium + + * Upload to unstable + * kfreebsd.patch: drop patch, the GNU/kFreeBSD ports have been abandoned + + -- Sébastien Villemot Tue, 13 Jun 2023 10:48:52 +0200 + +openblas (0.3.23+ds-1) experimental; urgency=medium + + * New upstream version 0.3.23+ds + + -- Sébastien Villemot Sat, 01 Apr 2023 23:47:25 +0200 + +openblas (0.3.22+ds-1) experimental; urgency=medium + + * New upstream version 0.3.22+ds + * d/copyright: reflect upstream changes + * Drop patches applied upstream + + mips64el-utest-dnrm2.patch + + pr-3718-ppc64el-segfault.patch + * d/rules: use new MIPS64_GENERIC target to build on mips64el + * Set upstream metadata fields: Security-Contact. + + -- Sébastien Villemot Tue, 28 Mar 2023 21:11:15 +0200 + +openblas (0.3.21+ds-4) unstable; urgency=medium + + * Manage CMake files through the alternatives system. + For consistency with the pkgconfig files. + * Bump S-V to 4.6.2 + + -- Sébastien Villemot Mon, 19 Dec 2022 16:03:51 +0100 + +openblas (0.3.21+ds-3) unstable; urgency=medium + + * Install CMake files under /usr/lib/$(MULTIARCH)/cmake/openblas$(FLAVOR)/ + Thanks to Juan Jose Garcia Ripoll for reporting (Closes: #1000332) + * no-embedded-lapack.patch: fix logic for detecting build with 64-bit + indexing. In particular, this fixes the riscv64 packages whose embedded + LAPACK routines were unusable with 32-bit indexing. + Thanks to Дмитрий Ермилов (Closes: #1022950) + + -- Sébastien Villemot Sun, 27 Nov 2022 21:22:10 +0100 + +openblas (0.3.21+ds-2) unstable; urgency=medium + + [ Mo Zhou ] + * Cherry-pick upstream commit to fix ppc64el FTBFS. + + [ Sébastien Villemot ] + * mips64el-utest-dnrm2.patch: new patch from upstream, fixes FTBFS on mips64el + + -- Sébastien Villemot Wed, 14 Sep 2022 13:07:58 +0200 + +openblas (0.3.21+ds-1) unstable; urgency=medium + + * New upstream version 0.3.21+ds + * d/copyright: reflect upstream changes + * d/control: drop transitional libopenblas-base package, no longer needed + * Bump S-V to 4.6.1 + * Update renamed lintian tag names in lintian overrides. + + -- Sébastien Villemot Sun, 14 Aug 2022 22:37:14 +0200 + +openblas (0.3.20+ds-2) unstable; urgency=medium + + * Remove deprecated xCOMBSSQ lapack routines. (Closes: #1011386) + * Remove bin:libjulia-openblas64, which is no longer needed. + Exporting libopenblas64_.so with SYMBOLSUFFIX=64_ in Julia private + library as an external dependency introduces complication in Julia + package compiling process. We currently do not have proposal to + put libopenblas64_.so (with symbol suffix) in the public library, + because that will eventually lead to NINE variants to build for amd64: + (1) LP64 (32-bit indexing), three threading models, default; + (2) ILP64 (64-bit indexing), three threading models, no symbol suffix; + (3) ILP64 (64-bit indexing), three threading models, symbols suffix 64_. + Currently we only provide the (1) and (2) combinations, because BLAS + libraries without symbol mangling can still be alternated to e.g. MKL. + + -- Mo Zhou Sat, 21 May 2022 16:25:13 -0400 + +openblas (0.3.20+ds-1) unstable; urgency=medium + + * New upstream version 0.3.20+ds + * d/copyright: reflect upstream changes + * mips64el.patch, avx512-dgemm.patch: drop patches, applied upstream + + -- Sébastien Villemot Mon, 21 Feb 2022 11:14:52 +0100 + +openblas (0.3.19+ds-3) unstable; urgency=medium + + * avx512-dgemm.patch: new patch, fixes DGEMM regression on AVX-512 CPUs + + -- Sébastien Villemot Fri, 14 Jan 2022 15:21:00 +0100 + +openblas (0.3.19+ds-2) unstable; urgency=medium + + * mips64el.patch: new patch, should fix FTBFS on mips64el + + -- Sébastien Villemot Mon, 10 Jan 2022 12:26:34 +0100 + +openblas (0.3.19+ds-1) unstable; urgency=medium + + * New upstream version 0.3.19+ds + + fixes segfault of pthread flavour when running out of memory + (Closes: #995450) + * d/copyright: reflect upstream changes + * 3422.patch (trsv shortcut revert): drop patch, applied upstream + * Tighten Build-Depends on liblapack{,64}-dev to >= 3.10.0-2~ + This ensures that the fix for CVE-2021-4048 is incorporated. + + -- Sébastien Villemot Mon, 20 Dec 2021 13:27:29 +0100 + +openblas (0.3.18+ds-2) unstable; urgency=medium + + * Team upload. + * Revert invalid trsv shortcut. Fixes crash in yade-package. + + -- Anton Gladky Sat, 30 Oct 2021 02:01:09 +0200 + +openblas (0.3.18+ds-1) unstable; urgency=medium + + * New upstream version 0.3.18+ds + * d/copyright: reflect upstream changes + + -- Sébastien Villemot Sun, 03 Oct 2021 10:51:28 +0200 + +openblas (0.3.17+ds-3) unstable; urgency=medium + + * Rebuild against lapack 3.10.0 + * Bump S-V to 4.6.0 + + -- Sébastien Villemot Mon, 20 Sep 2021 17:41:09 +0200 + +openblas (0.3.17+ds-2) unstable; urgency=medium + + * Upload to unstable + + -- Sébastien Villemot Mon, 16 Aug 2021 19:45:15 +0200 + +openblas (0.3.17+ds-1) experimental; urgency=medium + + * New upstream version 0.3.17+ds + + -- Sébastien Villemot Tue, 20 Jul 2021 22:19:53 +0200 + +openblas (0.3.16+ds-1) experimental; urgency=medium + + * New upstream version 0.3.16+ds + * Really disable DYNAMIC_ARCH on ppc64 + * Downgrade to TARGET=POWER4 on ppc64. + This seems closer to the baseline for this architecture. + * Improve package description w.r.t. dynamic arch vs local recompilation + * Add missing files in clean rule + + -- Sébastien Villemot Tue, 13 Jul 2021 12:32:31 +0200 + +openblas (0.3.15+ds-1) experimental; urgency=medium + + * New upstream version 0.3.15+ds + * fix-arm64-sigill.patch: drop patch, applied upstream + + -- Sébastien Villemot Tue, 04 May 2021 17:31:41 +0200 + +openblas (0.3.14+ds-2) experimental; urgency=medium + + * fix-arm64-sigill.patch: new patch, fixes SIGILL on arm64 with numpy. + Thanks to Thomas Viehmann (Closes: #986996) + + -- Sébastien Villemot Sun, 18 Apr 2021 11:08:29 +0200 + +openblas (0.3.14+ds-1) experimental; urgency=medium + + * New upstream version 0.3.14+ds + * riscv64-supported.patch: drop patch, applied upstream + * d/watch: update following GitHub URL renaming + + -- Sébastien Villemot Sun, 04 Apr 2021 18:34:37 +0200 + +openblas (0.3.13+ds-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Enable dynamic arch support on s390x. (LP: #1893653) (Closes: #981048) + + Also change control file references, thanks Marius Hillenbrand (mhillen) + + [ Aurelien Jarno ] + * Enable support for riscv64 (Closes: #978633) + + -- Mo Zhou Wed, 27 Jan 2021 13:56:54 +0800 + +openblas (0.3.13+ds-1) unstable; urgency=medium + + * New upstream version 0.3.13+ds + * d/copyright: reflect upstream changes + * reunify-arm64-buffersize.patch: drop patch, applied upstream + * Bump S-V to 4.5.1 + + -- Sébastien Villemot Thu, 17 Dec 2020 13:53:00 +0100 + +openblas (0.3.12+ds-2) unstable; urgency=medium + + * reunify-arm64-buffersize.patch: new patch from upstream (Closes: #970558) + + -- Sébastien Villemot Sun, 01 Nov 2020 10:47:26 +0100 + +openblas (0.3.12+ds-1) unstable; urgency=medium + + * New upstream version 0.3.12+ds + * fix-dynamic-arch-gemm-crashes.patch: drop patch, applied upstream + + -- Sébastien Villemot Mon, 26 Oct 2020 17:52:08 +0100 + +openblas (0.3.10+ds-3) unstable; urgency=medium + + [ Mo Zhou ] + * Fix confusion bug in the libblas.so.3->libopenblas.so.0 linkage. + We added -Wl,-rpath,'$ORIGIN' in the RPATH attribute of the libblas.so.3 + shared objects. Without this fix, `ldd openblas-serial/libblas.so.3` + will resolve the libopenblas.so.0 dependency to the symbol link + controlled by the alternatives mechanism, e.g. libopenblas.so.0 -> + openblas-pthread/libopenblas.so.0, which breaks the literal meaning + of the user's libblas.so.3 <--provies-- openblas-serial configuration. + * Remove the unnecessary dh_shlibdeps overrides. + * Remove ${shlibs:Depends} dependency from -dev and -meta packages. + * Fix symbol mangling for libjulia-openblas64. + * B-D on lapack (>= 3.9.0-3) for BLAS64 version of deprecated routines. + + [ Sébastien Villemot ] + * d/rules: ensure that shared-library flavoured packages do not depend on + libopenblas{64-,}0 metapackages. A circular dependency: + libopenblas0 → libopenblas0-{pthread,openmp,serial} → libopenblas0 + was introduced in 0.3.10+ds-2, since lib{blas,lapack}.so.3 is (again) + dynamically linked against libopenblas0. We break the loop manually at the + dpkg-shlibdeps level. (Closes: #966607) + + -- Mo Zhou Sat, 01 Aug 2020 23:25:44 +0800 + +openblas (0.3.10+ds-2) unstable; urgency=medium + + * lib{blas,lapack}.so.3 are again dynamically linked against libopenblas.so.0. + This restores the pre-multi-flavour behaviour. + Incidentally, this brings back the possibility of checking at runtime for + the presence of openblas_get_config symbol. (Closes: #960728) + * fix-dynamic-arch-gemm-crashes.patch: new patch (Closes: #966175) + * Add debian/upstream/metadata + + -- Sébastien Villemot Wed, 29 Jul 2020 14:51:22 +0200 + +openblas (0.3.10+ds-1) unstable; urgency=medium + + [ Mo Zhou ] + * New upstream version 0.3.10+ds + * Refresh existing patches. + + [ Sébastien Villemot ] + * d/copyright: reflect upstream changes + + -- Mo Zhou Tue, 07 Jul 2020 19:50:08 +0800 + +openblas (0.3.9+ds-3) unstable; urgency=medium + + [ Sébastien Villemot ] + * Remove B-D on dh-exec, no longer needed since debhelper 13 + * On Ubuntu, strip -Wl,-Bsymbolic-functions from LDFLAGS (Closes: #961725) + * Update Homepage to https://www.openblas.net + + [ Mo Zhou ] + * Let libopenblas64-julia Conflict & Replace libjulia1 (<< 1.4.1+dfsg-1) + (Closes: #963223) + * Upload to unstable. + + -- Mo Zhou Thu, 25 Jun 2020 17:39:59 +0800 + +openblas (0.3.9+ds-2) experimental; urgency=medium + + * Build the custom version of OpenBLAS for Julia. + * Update my mail address in Uploaders. + * Bump debhelper compat level to 13 (no change). + + -- Mo Zhou Thu, 14 May 2020 19:06:33 +0800 + +openblas (0.3.9+ds-1) unstable; urgency=medium + + * New upstream version 0.3.9+ds + * d/copyright: reflect upstream changes + * Drop link-tests-openmp.patch. + Replace it by adding -fopenmp to FCOMMON_OPT at the relevant places in + debian/rules. + + -- Sébastien Villemot Fri, 20 Mar 2020 14:40:43 +0100 + +openblas (0.3.8+ds-1) unstable; urgency=medium + + * New upstream version 0.3.8+ds + + unfortunately we cannot enable dynamic arch for s390x, because it will + not work correctly on pre-Z13 systems (there is no fallbak on + ZARCH_GENERIC, see driver/other/dynamic_zarch.c) + * d/copyright: reflect upstream changes + * dgemm-test-without-lapacke.patch: drop patch, applied upstream + * Remove spurious TARGET setting for ppc64el, which has dynamic arch + * Bump S-V to 4.5.0 + * d/rules: do not run testsuite in override_dh_auto_build. + It is already run in override_dh_auto_test. + Also honour DEB_BUILD_OPTIONS=nocheck. + * d/rules: ensure that whole build fails if build/test/install fails for one + flavour + * Remove unused override for libopenblas-dev + * link-tests-openmp.patch: new patch, fixes build failure in OpenMP variants + + -- Sébastien Villemot Thu, 13 Feb 2020 18:52:52 +0100 + +openblas (0.3.7+ds-7) unstable; urgency=medium + + * Fix (piuparts) install failure due to missing dir. (Closes: #946828) + * Autopkgtest: print libopenblas{,64} selection before the test. + + -- Mo Zhou Wed, 18 Dec 2019 23:38:15 +0800 + +openblas (0.3.7+ds-6) unstable; urgency=medium + + * Restore pkgconfig’s openblas.pc (for 32-bit indexing) + This file is now managed by the alternatives system, since there are several + variants of it. (Closes: #946698) + By the way, add openblas64.pc (for 64-bit indexing). + * Fix alternatives symlink for openblas64_config.h (64-bit indexing variants) + * Drop empty postrm script for libopenblas-dev + * Make long description of libopenblas0 different from that of + libopenblas64-0. + Similar change for libopenblas-dev vs. libopenblas64-dev. + * Fix the blas{,64}.pc and lapack{,64}.pc alternatives. + For 32-bit indexing, the files pointed to an inexistent $libdir. + The 64-bit indexing variants were pointing to 32-bit libraries. + + -- Sébastien Villemot Sun, 15 Dec 2019 22:02:19 +0100 + +openblas (0.3.7+ds-5) unstable; urgency=medium + + * Link the OMP variant of shared blas/lapack against gomp. (Closes: #945791) + + -- Mo Zhou Mon, 02 Dec 2019 13:33:33 +0800 + +openblas (0.3.7+ds-4) unstable; urgency=medium + + * Don’t run the 64-bit autopkgtests on 32-bit architectures. + Thanks to Matthias Klose (Closes: #944474) + * Bump S-V to 4.4.1 + + -- Sébastien Villemot Wed, 27 Nov 2019 17:49:02 +0100 + +openblas (0.3.7+ds-3) unstable; urgency=medium + + * Upload to unstable. (no change). + + -- Mo Zhou Thu, 31 Oct 2019 20:46:13 +0800 + +openblas (0.3.7+ds-2) experimental; urgency=medium + + [ Multi-Flavour Update of OpenBLAS (Closes: #878121, #684344) ] + * (32-bit, 64-bit)-index * (pthread, openmp, serial)-threadding = 6 Variants. + Each one assigned with different priority values in alternatives system: + + libopenblas0-{pthread,openmp,serial} (priority = 100,95,90) + * Provides: libopenblas.so.0, libblas.so.3, liblapack.so.3 + + libopenblas64-0-{pthread,openmp,serial} (priority = 100,95,90) + * Provides: libopenblas64.so.0, libblas64.so.3, liblapack64.so.3 + - 64-bit-indexing versions are only available on 64-bit archs. + * Let libopenblas0 and libopenblas64-0 be meta packages. They pull one of the + three threadding variants. On resolving shlib dependencies, these meta + packages, instead of specific variants used for building, should be used as + the dependencies. + * Turn libopenblas-base into a transitional dummy package. + * Update/Create control files and maintscripts for all these variants. + * Autopkgtest: test all the 6 variants. + + [ Mo Zhou ] + * Append myself to Uploaders. + * Simplify architecture detection part of rules. + * Bump B-D lapack to >= 3.8.0-5 (for liblapack64-dev). + * rules: Deparallelize build targets to avoid messy buildlog + * Update existing patches accordingly for the new feature. + * Merge order-files.patch into shared-blas-lapack.patch + * Create template postrm for libopenblas-dev to avoid leftover. + * Remove the unnecessary overrides from rules. + * Upload to experimental. + + -- Mo Zhou Fri, 25 Oct 2019 21:03:40 +0800 + +openblas (0.3.7+ds-1) unstable; urgency=medium + + * Revert dynamic arch selection on ppc64, it FTBFS + * New upstream version 0.3.7+ds + * dgemm-test-without-lapacke.patch: new patch taken from upstream. + Required to avoid FTBFS. + + -- Sébastien Villemot Tue, 20 Aug 2019 17:52:34 +0200 + +openblas (0.3.6+ds-1) unstable; urgency=medium + + * New upstream version 0.3.6+ds + * Remove patches applied upstream + + skylakex-dgemm.patch + + target-generic.patch + * Enable dynamic arch selection on ppc64el and ppc64 + * Bump S-V to 4.4.0 + * Bump debhelper compat level to 12 + + -- Sébastien Villemot Mon, 08 Jul 2019 14:24:15 +0200 + +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 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. + Thanks to Mo Zhou (Closes: #921698) + + -- Sébastien Villemot Sat, 09 Feb 2019 10:38:22 +0100 + +openblas (0.3.5+ds-1) unstable; urgency=medium + + * New upstream version 0.3.5+ds + * Bump S-V to 4.3.0 + + -- Sébastien Villemot Fri, 04 Jan 2019 10:28:31 +0100 + +openblas (0.3.4+ds-1) unstable; urgency=medium + + * New upstream version 0.3.4+ds + * d/copyright: reflect upstream changes + * Dynamic kernel selection is now implemented on arm64 + * Switch to new way of specifying debhelper compat level + * Increase priority in alternatives system to 100 (Closes: #911131) + + -- Sébastien Villemot Fri, 07 Dec 2018 15:49:27 +0100 + +openblas (0.3.3+ds-1) unstable; urgency=medium + + * New upstream version 0.3.3+ds + * Bump Standards-Version to 4.2.1 + + -- Sébastien Villemot Fri, 07 Sep 2018 16:32:43 +0200 + +openblas (0.3.2+ds-1) unstable; urgency=medium + + * New upstream version 0.3.2+ds + + fixes regression that induced incorrect SVD computation + (Closes: #903659) + * Bump to debhelper compat level 11 + * Add Rules-Requires-Root: no + * Bump S-V to 4.1.5 + + -- Sébastien Villemot Tue, 31 Jul 2018 18:28:12 +0200 + +openblas (0.3.1+ds-1) unstable; urgency=medium + + * New upstream version 0.3.1 + + cblas_* now take a void* for complex arrays (Closes: #877883) + * d/copyright: reflect upstream changes + * force-zarch.patch: remove patch, applied upstream + * Compile with DYNAMIC_OLDER=1, for better support of old amd64 CPUs + * Remove Built-Using field. + Since both LAPACK and ATLAS are under BSD-3-clause, there is no reason to + use this field (which is now restricted to license compliance issues). + * d/rules: remove get-orig-source target. + * Bump to S-V 4.1.4 + * Replace ADTTMP by AUTOPKGTEST_TMP in tests. + * Ship *.md files in libopenblas-dev + * Update Vcs-* fields for move to salsa + + -- Sébastien Villemot Wed, 04 Jul 2018 10:53:01 +0200 + +openblas (0.2.20+ds-4) unstable; urgency=medium + + * Add support for s390x. + New patch force-zarch.patch introduced to force the generic build. + (Closes: #875618) + * Enforce TARGET=POWER6 on ppc64, to avoid FTBFS on some buildds. + * Drop obsolete code for -dbgsym migration. + + -- Sébastien Villemot Tue, 19 Sep 2017 14:51:23 +0200 + +openblas (0.2.20+ds-3) unstable; urgency=low + + * Multi-archify the package. + Incidentally, remove the dependency of libopenblas-dev on libblas-dev, since + cblas.h is now managed by the alternative. + * Ship openblas.pc in libopenblas-dev. + * Improve README.Debian for building a custom package + * Bump Standards-Version to 4.1.0. + + -- Sébastien Villemot Sat, 09 Sep 2017 10:29:44 +0200 + +openblas (0.2.20+ds-2) unstable; urgency=medium + + * d/rules: explicitly disable OpenMP, with USE_OPENMP=0. + Otherwise it gets enabled on powerpc and ppc64*, leading to FTBFS. + + -- Sébastien Villemot Thu, 27 Jul 2017 20:06:14 +0200 + +openblas (0.2.20+ds-1) unstable; urgency=medium + + * New upstream version 0.2.20+ds + * d/watch: add +ds suffix to orig tarball, since we're repacking it. + * Drop patches applied upstream: + + mips-implement-mb-and-wmb.patch + + mips-remove-incorrect-blas_lock-implementation.patch + * d/copyright: + + reflect upstream changes, filter out relapack. + + use secure URL for format. + * Add support for sparc64. + Thanks to James Clarke for the patch (Closes: #866509) + * d/rules: Re-enable testsuite on powerpc. + Treating powerpc differently is not warranted, especially since it is no + longer a release architecture. + * Use DEB_BUILD_OPTIONS=custom as new interface for building custom package. + By the way, no longer automatically append a changelog entry. + (Closes: #854784) + * d/control: + + bump Standards-Version to 4.0.0. + + tighten versioned build-dependency on liblapack-pic to ≥ 3.7.0. + + use canonical URL for Vcs-Browser. + + -- Sébastien Villemot Thu, 27 Jul 2017 18:17:19 +0200 + +openblas (0.2.19-3) unstable; urgency=medium + + * New patches that fix threading issue on mips64el. + + d/p/mips-implement-mb-and-wmb.patch + + d/p/mips-remove-incorrect-blas_lock-implementation.patch + Thanks to James Cowgill (Closes: #861486) + + -- Sébastien Villemot Sat, 06 May 2017 15:22:06 +0200 + +openblas (0.2.19-2) unstable; urgency=medium + + * Also build libopenblas-dev on mips64el. (Closes: #852283) + * Bump debhelper compat level to 10. + * d/watch: bump to format version 4. + * Add "-march=native -mtune=native" to CFLAGS when building custom package. + (Closes: #844509) + + -- Sébastien Villemot Mon, 23 Jan 2017 15:06:15 +0100 + +openblas (0.2.19-1) unstable; urgency=medium + + * Imported Upstream version 0.2.19 + * d/p/always-run-testsuite.patch: drop patch, no longer needed. + * Add support for mips64el. + * d/p/order-files.patch: new patch, makes build reproducible. + Thanks to Alexis Bienvenüe (Closes: #824639) + * d/README.Debian: explain that recompilation is useful on non-x86 archs. + + -- Sébastien Villemot Tue, 06 Sep 2016 20:24:32 +0200 + +openblas (0.2.18-1) unstable; urgency=medium + + * Imported Upstream version 0.2.18 + * d/control: bump Standards-Version to 3.9.8, no changes needed. + + -- Sébastien Villemot Sun, 17 Apr 2016 18:40:31 +0200 + +openblas (0.2.17-1) unstable; urgency=medium + + * Imported Upstream version 0.2.17 + * d/copyright: reflect upstream changes. + * d/p/power-arch-detection.patch: drop patch, applied upstream. + * d/p/matgen-symbols-not-included.patch: new patch. + Needed because MATGEN symbols are not included in the Debian binary. + * d/control: + + bump Standards-Version to 3.9.7, no changes needed. + + use secure URLs in Vcs-* fields. + * Drop libopenblas-dbg, now rely on automatic debug package. + + -- Sébastien Villemot Thu, 24 Mar 2016 15:11:45 +0100 + +openblas (0.2.15-1) unstable; urgency=medium + + * Imported Upstream version 0.2.15 + * debian/copyright: reflect upstream changes. + * Remove patches applied upstream: + + debian/patches/arm-arch-detection.patch + + debian/patches/arm64.patch + + debian/patches/disable-gemm3m-tests.patch + * Build on ppc64el arch, which is now supported by upstream. + * d/p/power-arch-detection.patch: new patch. + Ensures that the testsuite is run on ppc64el and ppc64. + However, don't enable it on powerpc, because it crashes… + * Tighten B-D on lapack to >= 3.5.0-5~, in order to get latest patches. + * Remove obsolete Conflicts/Replaces against lib{blas,lapack}3gf. + + -- Sébastien Villemot Tue, 10 Nov 2015 23:24:12 +0100 + +openblas (0.2.14-1) unstable; urgency=low + + * Imported Upstream version 0.2.14 + * debian/copyright: reflect upstream changes. + * debian/rules: remove TARGET=GENERIC flag when building dynamic arch binary. + This flag creates a compilation failure and seems no longer needed. + * Add a debug package. (Closes: #783639) + * debian/control: improve short description of packages. + * Add autopkgtest support, relying on upstream testsuite. + + debian/tests/upstream-testsuite: script to run the testsuite. + + debian/tests/control: add the new test. + Thanks to Christian Kastner for crafting the patch. (Closes: #781996) + * Enable build on arm64 architecture. + + d/control: add arm64 to Architecture fields. + + d/rules: use TARGET=ARMV8 for arm64 arch. + + d/p/arm64.patch: new patch from upstream, to fix a build failure. + * Fix crash with illegal instruction on armhf with static libraries. + + d/p/arm-gcc-flags.patch: enforce -march=armv7-a and -mfpu=vfpv3-d16 flags. + * Add -lgfortran and -lpthread in .pc files for static linking. + * Ensure that the testsuite is run on arm* arches at build time. + + d/p/arm-arch-detection.patch: new patch, avoids false detection of + cross-compilation. + + d/p/disable-gemm3m-tests.patch: new patch, avoid compilation failure of + the testsuite. + + d/p/test-custom-package.patch renamed to d/p/always-run-testsuite.patch, + to clearly show that it is needed even for vanilla arm* packages. + + -- Sébastien Villemot Wed, 29 Apr 2015 18:46:11 +0200 + +openblas (0.2.12-1) unstable; urgency=medium + + * Imported Upstream version 0.2.12. (Closes: #765795) + + -- Sébastien Villemot Sun, 26 Oct 2014 10:42:29 +0100 + +openblas (0.2.11-3) unstable; urgency=medium + + [ Alastair McKinstry ] + * Add {blas,lapack}-openblas.pc files and symlinks via + update-alternatives. (Closes: #764491) + + -- Sébastien Villemot Wed, 15 Oct 2014 21:54:50 +0200 + +openblas (0.2.11-2) unstable; urgency=medium + + * libopenblas-base: add dependency on libblas-common. + The goal is to make BLAS implementations multi-arch safe by preventing the + co-installability of, say, libblas3:amd64 and libatlas3-base:i386. See + * Bump Standards-Version to 3.9.6, no changes needed. + + -- Sébastien Villemot Sat, 27 Sep 2014 20:25:40 +0200 + +openblas (0.2.11-1) unstable; urgency=medium + + * Imported Upstream version 0.2.11 + * debian/copyright: reflect upstream changes. + + -- Sébastien Villemot Sat, 30 Aug 2014 14:20:55 +0200 + +openblas (0.2.10-2) unstable; urgency=medium + + * libopenblas-{base,dev}.prerm: fix removal of liblapack.so.3 alternative. + * debian/rules: pass the same make options to all make invocations. + Fixes FTBFS on armhf. + * Tighten build-dep on liblapack-pic. + Ensures that the LAPACK version used to compile OpenBLAS is as recent as + upstream embedded copy (including unreleased patches). + + -- Sébastien Villemot Fri, 08 Aug 2014 14:25:37 +0200 + +openblas (0.2.10-1) unstable; urgency=medium + + * Imported Upstream version 0.2.10 + * Ship the optimized LAPACK as a new alternative. + + Use the binary from liblapack-pic for routines not overridden by + OpenBLAS. + As a consequence, add a Built-Using field to libopenblas-{base,dev}. + + libblas3-soname.patch: dropped patch. + + shared-blas-lapack.patch: new patch. + * Ship headers in /usr/include/openblas. + * Remove Sylvestre Ledru from Uploaders. Thanks Sylvestre for your work! + * debian/copyright: rewrite using machine-readable format. + * Use Files-Excluded from d/copyright to remove embedded LAPACK copy. + * no-embedded-lapack.patch: new patch. + Adapts build system for the absence of lapack-netlib/ directory. + * kfreebsd.patch: install shared library and link it against libm. + This patch also incorporates the former content of kfreebsd-soname.patch. + * Rewrite using debhelper and upstream's 'make install' rule. + * Update README.Debian. + + -- Sébastien Villemot Tue, 05 Aug 2014 20:05:26 +0200 + +openblas (0.2.9-1) unstable; urgency=medium + + * Imported Upstream version 0.2.9 + * Remove patches applied upstream: + - dgemv-crash.patch + - fork-handler.patch + - qemu-athlon.patch + - wrong-parameter-for-zherk-zher2.patch + * Add armhf support. + - Use ARMv6 target. We cannot currently use the ARMv7 target, because it + requires VFPv3-D32 (and armhf only guarantees VFPv3-D16). + - arm-gcc-flags.patch: Remove arch-specific GCC flags. + * PowerPC: enforce a generic-enough target (PPCG4) for the generic package. + Previously, the target was (erroneously) selected based on the buildd + hardware. + * Update debian/orig-tar.sh: now keeps a quasi-empty lapack-netlib/TESTING + dir. + + -- Sébastien Villemot Sun, 15 Jun 2014 15:17:05 +0200 + +openblas (0.2.8-6) unstable; urgency=medium + + * Team upload. + * backport two fixes from upstream git: + - dgemv-crash.patch: fixes core2/barcelona dgemv kernel + - wrong-parameter-for-zherk-zher2.patch + + -- Julian Taylor Thu, 13 Mar 2014 20:03:07 +0100 + +openblas (0.2.8-5) unstable; urgency=medium + + * kfreebsd-soname.patch: give a SONAME to the shared library under kfreebsd, + by using the same stanza to create the shared object than under Linux. + Incidentally, this fixes the FTBFS on kfreebsd-* archs. + * Remove ia64, powerpcspe, hurd-i386 and sparc from the list of + supported architectures (the package never compiled on those). + * fork-handler.patch: improved version backported from upstream. + + -- Sébastien Villemot Fri, 21 Feb 2014 18:07:32 +0100 + +openblas (0.2.8-4) unstable; urgency=medium + + * Revert to pthreads parallelism instead of OpenMP (Closes: #737675) + * remove-openmp-warning.patch: new patch, removes annoying warning when + OpenBLAS is called from an OpenMP application. + * fork-handler.patch: fixes hangs of OpenBLAS when called from a program + using OpenMP (Closes: #739331) + * Drop obsolete code in maintainer scripts to deal with the transition + libblas.so.3gf => libblas.so.3. + * Ship an additional libopenblas.so.0 in /usr/lib, to allow direct + linking to OpenBLAS, without using the alternatives system for BLAS + implementations. Thanks to Martin Koehler for his help in crafting a + proper solution. (Closes: #725673) + + -- Sébastien Villemot Wed, 19 Feb 2014 17:20:03 +0100 + +openblas (0.2.8-3) unstable; urgency=medium + + * Use OpenMP parallelism instead of pthreads (Closes: #684344). + * Bump Standards-Version to 3.9.5, no changes needed. + * Bump to debhelper compat level 9. + + -- Sébastien Villemot Wed, 15 Jan 2014 14:07:39 +0100 + +openblas (0.2.8-2) unstable; urgency=low + + * qemu-athlon.patch: new patch, should fix FTBFS on babin.debian.org + (which is a weird qemu guest declaring an Athlon CPU but without + 3dnow! extensions) + + -- Sébastien Villemot Tue, 27 Aug 2013 18:04:04 +0200 + +openblas (0.2.8-1) unstable; urgency=low + + * New upstream release + + -- Sébastien Villemot Sat, 03 Aug 2013 23:25:41 +0200 + +openblas (0.2.7-1) unstable; urgency=low + + * New upstream release + * power7.patch: remove patch, applied upstream + * Repackage upstream tarball without embedded LAPACK copy + * Package descriptions: mention that multiple arch is only for x86; fix typo + * Use canonical URLs for packaging VCS + * Add dependency of libopenblas-dev on libblas-dev, so that CBLAS headers are + installed. (Closes: #685890) + * Disable memory address range benchmarking (NO_WARMUP=1), for better + startup performance. (Closes: #709224) + * test-custom-package.patch: new package, ensures that testsuite is run even + when building a custom package. (Closes: #677866) + + -- Sébastien Villemot Fri, 26 Jul 2013 18:37:41 +0200 + +openblas (0.2.6-2) unstable; urgency=low + + * power7.patch: new patch, should fix FTBFS on powerpc buildd with Power7 arch + * libblas3-soname.patch: new patch, sets the SONAME of the dynamic library to + libblas.so.3. (Closes: #687349) + * Put "libblas3 | libblas.so.3" in the shlibs of libopenblas-base. + Packages compiled with libopenblas-dev installed will now have a BLAS + dependency satisfiable by all BLAS flavours. + * Switch to git as VCS for packaging + + -- Sébastien Villemot Mon, 20 May 2013 18:40:07 +0200 + +openblas (0.2.6-1) unstable; urgency=low + + * Upload to unstable + * Update Standards-Version to 3.9.4 + * Increase the maximum number of threads to 64 when building the generic + package. At runtime, OpenBLAS will not use more threads than there are + available cores. (LP: #817212) + + -- Sébastien Villemot Sat, 02 Mar 2013 17:46:01 +0100 + +openblas (0.2.6-1~exp1) experimental; urgency=low + + * New upstream release + + Fixes use of uninitialized values in vectorized sgemv on i386. + (Closes: #696000) + + Fixes the overflowing buffer bug of gemv. (Closes: #697231) + + Fixes the the overflowing buffer bug of multithreading hbmv and sbmv. + (Closes: #697232) + + Fixes crash on 32-bit Athlon CPUs. (Closes: #697233) + + Better handling of unknown amd64 CPUs (e.g. within qemu). + (Closes: #697235) + * Disable processor affinity. (Closes: #684338) + * Force the maximum number of threads to 2 when building the generic package + (as we do for ATLAS). Otherwise, it is the number of cores on the build + machine which is chosen instead. + * README.Debian: improve instructions for building the custom package + + -- Sébastien Villemot Sat, 02 Mar 2013 15:09:09 +0100 + +openblas (0.2.5-1~exp1) experimental; urgency=low + + [ Sébastien Villemot ] + * Update debian/watch + * Use my @debian.org email address + * Remove obsolete DM-Upload-Allowed flag + + [ Sylvestre Ledru ] + * New upstream release + * generic_profile.diff removed (applied upstream) + + -- Sylvestre Ledru Sat, 08 Dec 2012 16:24:30 +0100 + +openblas (0.2.4-1~exp1) experimental; urgency=low + + * New upstream release + + -- Sylvestre Ledru Mon, 15 Oct 2012 20:15:49 +0200 + +openblas (0.2.3-1~exp1) experimental; urgency=low + + * New upstream release + + Kills threads when unloading the library (Closes: #673061) + + -- Sébastien Villemot Mon, 20 Aug 2012 12:18:07 +0000 + +openblas (0.2.2-1~exp1) experimental; urgency=low + + * New upstream release + * hurd.diff, hurd_gettid.diff, kfreebsd.diff, sparc.diff: remove patches, + applied upstream + * debian/rules: implement support for DEB_BUILD_OPTIONS=noopt + + -- Sébastien Villemot Wed, 11 Jul 2012 16:32:27 +0000 + +openblas (0.2.1-1~exp1) experimental; urgency=low + + * New upstream release + + -- Sylvestre Ledru Mon, 02 Jul 2012 02:24:00 +0200 + +openblas (0.1.1-5) unstable; urgency=low + + * libopenblas-base.prerm: avoid crash if libblas.so.3gf already deleted + * Add myself to Uploaders + * Set DM-Upload-Allowed to yes + + -- Sébastien Villemot Sun, 24 Jun 2012 16:15:11 +0000 + +openblas (0.1.1-4) unstable; urgency=low + + * Fix the FTBFS under KFreebsd. Thanks to Sébastien Villemot (Closes: #677165) + + -- Sylvestre Ledru Wed, 13 Jun 2012 10:29:51 +0200 + +openblas (0.1.1-3) unstable; urgency=low + + * Upload in unstable + + -- Sylvestre Ledru Sat, 02 Jun 2012 17:33:58 +0200 + +openblas (0.1.1-3~exp4) experimental; urgency=low + + * Rollback previous upload + + -- Sylvestre Ledru Fri, 01 Jun 2012 11:04:51 +0200 + +openblas (0.1.1-3~exp3) experimental; urgency=low + + * Fix a bad alternative link to the old library name + + -- Sylvestre Ledru Fri, 01 Jun 2012 10:28:09 +0200 + +openblas (0.1.1-3~exp2) experimental; urgency=low + + * Fix FTBFS (Closes: #666277) + + -- Sylvestre Ledru Wed, 30 May 2012 14:52:40 +0200 + +openblas (0.1.1-3~exp1) experimental; urgency=low + + * Replaces and Breaks updated against the right versions of other impacted + packages + + -- Sylvestre Ledru Mon, 21 May 2012 13:13:46 +0200 + +openblas (0.1.1-2) experimental; urgency=low + + * Moved removal from postinst to preinst + + -- Sylvestre Ledru Fri, 18 May 2012 15:58:32 +0200 + +openblas (0.1.1-1) experimental; urgency=low + + * New upstream release + * Remove libblas.so.3gf references before the install + + -- Sylvestre Ledru Mon, 14 May 2012 18:47:53 +0200 + +openblas (0.1.0-1) experimental; urgency=low + + * New upstream release + * Standards-Version updated to 3.9.3 + + -- Sylvestre Ledru Wed, 04 Apr 2012 14:31:34 +0200 + +openblas (0.1alpha2.5-1~exp2) experimental; urgency=low + + * Join modifications with blas, lapack, atlas and openblas. + Declare the replacements of all *3gf blas & lapack implementation + (See bug #660607) + + -- Sylvestre Ledru Mon, 20 Feb 2012 19:33:41 +0100 + +openblas (0.1alpha2.5-1~exp1) experimental; urgency=low + + * New upstream release + * Fix an upgrade issue (Closes: #659786) + + -- Sylvestre Ledru Sun, 19 Feb 2012 15:50:41 +0100 + +openblas (0.1alpha2.3-1~exp1) experimental; urgency=low + + * New upstream release + Fix FTBFS under KfreeBSD (Closes: #635552) + + -- Sylvestre Ledru Mon, 05 Sep 2011 15:24:24 +0200 + +openblas (0.1alpha2.2-4~exp1) experimental; urgency=low + + * Rename the reference libblas.so.3gf to libblas.so.3 + + -- Sylvestre Ledru Sat, 03 Sep 2011 20:24:39 +0200 + +openblas (0.1alpha2.2-3) unstable; urgency=low + + * Same player try again: the lib has different names with build with the + dynamic arch or not. + + -- Sylvestre Ledru Tue, 26 Jul 2011 18:40:04 +0200 + +openblas (0.1alpha2.2-2) unstable; urgency=low + + * Disable dynamic arch on non amd64 / i386 archs (Closes: #631887) + * Fix a FTBFS under hurd + + -- Sylvestre Ledru Tue, 26 Jul 2011 16:56:27 +0200 + +openblas (0.1alpha2.2-1) unstable; urgency=low + + * New upstream release (Closes: #631886) + + -- Sylvestre Ledru Mon, 25 Jul 2011 10:46:44 +0200 + +openblas (0.1alpha2.1-1) unstable; urgency=low + + * New upstream release + * gfortran added a build dep + + -- Sylvestre Ledru Wed, 29 Jun 2011 21:18:48 +0200 + +openblas (0.1alpha2-1) unstable; urgency=low + + * New upstream release + * Good news: use DYNAMIC_ARCH=1 in the build option of OpenBLAS/Gotoblas + to support multiple architecture. All kernel will be included in the library + and dynamically switched the best architecture at run time. + + -- Sylvestre Ledru Thu, 23 Jun 2011 10:44:43 +0200 + +openblas (0.1alpha1-4) experimental; urgency=low + + * Fix FTBFS under kfreebsd, sparc & hurd. + * Limit architectures to amd64 i386 ia64 powerpc powerpcspe ppc64 + kfreebsd-i386 kfreebsd-amd64 hurd-i386 sparc + * cherry-pick from upstream to fail build when the arch is not supported + + -- Sylvestre Ledru Mon, 30 May 2011 17:05:23 +0200 + +openblas (0.1alpha1-3) experimental; urgency=low + + * clean target now really cleans everything. Thanks to Ryan Lovett + (Closes: #624253) + + -- Sylvestre Ledru Wed, 04 May 2011 18:03:10 +0200 + +openblas (0.1alpha1-2) experimental; urgency=low + + * Update the README.Debian file + * watch file removed for now (it was the one from atlas) + * Fix a custom build issue (thanks to Ryan Lovett for the bug report) + * Fix a FTBFS under sparc + * Switch to dpkg-source 3.0 (quilt) format + * Standards-Version updated to version 3.9.2 + + -- Sylvestre Ledru Sat, 16 Apr 2011 15:23:22 +0200 + +openblas (0.1alpha1-1) experimental; urgency=low + + * Initial version (Closes: #605456) + + -- Sylvestre Ledru Fri, 04 Feb 2011 18:28:26 +0100 diff --git a/control b/control new file mode 100644 index 00000000..90a332c0 --- /dev/null +++ b/control @@ -0,0 +1,398 @@ +Source: openblas +Maintainer: Debian Science Team +Uploaders: Sébastien Villemot , + Mo Zhou +Section: devel +Priority: optional +Build-Depends: debhelper-compat (= 13), + debhelper (>= 12.8~), + gfortran, + liblapack-dev (>= 3.12), + liblapack64-dev (>= 3.12) [amd64 arm64 ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64], +Standards-Version: 4.7.0 +Vcs-Browser: https://salsa.debian.org/science-team/openblas +Vcs-Git: https://salsa.debian.org/science-team/openblas.git +Homepage: https://www.openblas.net/ +Rules-Requires-Root: no + +# 32-bit indexing version + +Package: libopenblas0 +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: ${misc:Depends}, + libopenblas0-pthread | libopenblas0-openmp | libopenblas0-serial, +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Description: Optimized BLAS (linear algebra) library (meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + +Package: libopenblas0-pthread +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas0-openmp +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 + +Package: libopenblas0-serial +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: libopenblas0 (= ${binary:Version}), + ${misc:Depends}, + libopenblas-pthread-dev | libopenblas-openmp-dev | libopenblas-serial-dev, +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Description: Optimized BLAS (linear algebra) library (dev, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + +Package: libopenblas-pthread-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-pthread (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas-openmp-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-openmp (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 + +Package: libopenblas-serial-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-serial (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 + +# 64-bit indexing version + +Package: libopenblas64-0 +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: ${misc:Depends}, + libopenblas64-0-pthread | libopenblas64-0-openmp | libopenblas64-0-serial, +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This metapackage provides a 64-bit indexing version. + +Package: libopenblas64-0-pthread +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-0-openmp +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 + +Package: libopenblas64-0-serial +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: libopenblas64-0 (= ${binary:Version}), + ${misc:Depends}, + libopenblas64-pthread-dev | libopenblas64-openmp-dev | libopenblas64-serial-dev, +Description: Optimized BLAS (linear algebra) library (dev, 64bit, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + This metapackage provides a 64-bit indexing version. + +Package: libopenblas64-pthread-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-pthread (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-openmp-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-openmp (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 + +Package: libopenblas64-serial-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-serial (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el, riscv64 and s390x, all kernels are + included in the library and the one matching best your processor is selected + at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 diff --git a/copyright b/copyright new file mode 100644 index 00000000..90ac75d9 --- /dev/null +++ b/copyright @@ -0,0 +1,651 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: OpenBLAS +Upstream-Contact: Zhang Xianyi +Source: https://github.com/OpenMathLib/OpenBLAS +Files-Excluded: lapack-netlib/* + relapack/* + +Files: * +Copyright: 2011-2024 The OpenBLAS Project + 2009-2010 The University of Texas at Austin + 2013 Martin Koehler, grisuthedragon@users.github.com + 2020 IBM Corporation + 2022 Arm Ltd +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. Neither the name of the OpenBLAS project nor the names of + its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: benchmark/cholesky.c + benchmark/linpack.c + benchmark/geev.c + benchmark/getri.c + benchmark/gesv.c + benchmark/potrf.c + common.h + common_alpha.h + common_ia64.h + common_interface.h + common_lapack.h + common_level1.h + common_level2.h + common_level3.h + common_linux.h + common_macro.h + common_param.h + common_power.h + common_sparc.h + common_thread.h + common_x86.h + common_x86_64.h + cpuid.h + cpuid_alpha.c + cpuid_ia64.c + cpuid_power.c + cpuid_sparc.c + cpuid_x86.c + driver/level2/gbmv_k.c + driver/level2/gbmv_thread.c + driver/level2/gemv_thread.c + driver/level2/ger_thread.c + driver/level2/sbgemv_thread.c + driver/level2/sbmv_k.c + driver/level2/sbmv_thread.c + driver/level2/spmv_k.c + driver/level2/spmv_thread.c + driver/level2/spr2_k.c + driver/level2/spr2_thread.c + driver/level2/spr_k.c + driver/level2/spr_thread.c + driver/level2/symv_thread.c + driver/level2/syr2_k.c + driver/level2/syr2_thread.c + driver/level2/syr_k.c + driver/level2/syr_thread.c + driver/level2/tbmv_L.c + driver/level2/tbmv_U.c + driver/level2/tbmv_thread.c + driver/level2/tbsv_L.c + driver/level2/tbsv_U.c + driver/level2/tpmv_L.c + driver/level2/tpmv_U.c + driver/level2/tpmv_thread.c + driver/level2/tpsv_L.c + driver/level2/tpsv_U.c + driver/level2/trmv_L.c + driver/level2/trmv_U.c + driver/level2/trmv_thread.c + driver/level2/trsv_L.c + driver/level2/trsv_U.c + driver/level2/zgbmv_k.c + driver/level2/zhbmv_k.c + driver/level2/zher2_k.c + driver/level2/zher_k.c + driver/level2/zhpmv_k.c + driver/level2/zhpr2_k.c + driver/level2/zhpr_k.c + driver/level2/zsbmv_k.c + driver/level2/zspmv_k.c + driver/level2/zspr2_k.c + driver/level2/zspr_k.c + driver/level2/zsyr2_k.c + driver/level2/zsyr_k.c + driver/level2/ztbmv_L.c + driver/level2/ztbmv_U.c + driver/level2/ztbsv_L.c + driver/level2/ztbsv_U.c + driver/level2/ztpmv_L.c + driver/level2/ztpmv_U.c + driver/level2/ztpsv_L.c + driver/level2/ztpsv_U.c + driver/level2/ztrmv_L.c + driver/level2/ztrmv_U.c + driver/level2/ztrsv_L.c + driver/level2/ztrsv_U.c + driver/level3/gemm.c + driver/level3/gemm3m.c + driver/level3/gemm3m_level3.c + driver/level3/gemm_thread_m.c + driver/level3/gemm_thread_mn.c + driver/level3/gemm_thread_n.c + driver/level3/gemm_thread_variable.c + driver/level3/hemm3m_k.c + driver/level3/level3.c + driver/level3/level3_gemm3m_thread.c + driver/level3/level3_syrk.c + driver/level3/level3_syr2k.c + driver/level3/level3_syrk_threaded.c + driver/level3/level3_thread.c + driver/level3/symm_k.c + driver/level3/syr2k_k.c + driver/level3/syr2k_kernel.c + driver/level3/syrk_k.c + driver/level3/syrk_kernel.c + driver/level3/syrk_thread.c + driver/level3/trmm_L.c + driver/level3/trmm_R.c + driver/level3/trsm_L.c + driver/level3/trsm_R.c + driver/level3/zhemm_k.c + driver/level3/zher2k_k.c + driver/level3/zher2k_kernel.c + driver/level3/zherk_beta.c + driver/level3/zherk_k.c + driver/level3/zherk_kernel.c + driver/level3/zsyrk_beta.c + driver/level3/symm3m_k.c + driver/mapper/mapper.c + driver/others/abs.c + driver/others/blas_l1_thread.c + driver/others/blas_server_omp.c + driver/others/blas_server_win32.c + driver/others/divtable.c + driver/others/dynamic.c + driver/others/dynamic_arm64.c + driver/others/lamc3.c + driver/others/lamch.c + driver/others/lsame.c + driver/others/memory_qalloc.c + driver/others/parameter.c + driver/others/profile.c + driver/others/xerbla.c + exports/dllinit.c + interface/asum.c + interface/axpy.c + interface/copy.c + interface/dot.c + interface/dsdot.c + interface/gbmv.c + interface/geadd.c + interface/gemm.c + interface/gemv.c + interface/ger.c + interface/imax.c + interface/lapack/gesv.c + interface/lapack/getf2.c + interface/lapack/getrf.c + interface/lapack/getrs.c + interface/lapack/laswp.c + interface/lapack/lauu2.c + interface/lapack/lauum.c + interface/lapack/potf2.c + interface/lapack/potrf.c + interface/lapack/potri.c + interface/lapack/trti2.c + interface/lapack/trtri.c + interface/lapack/trtrs.c + interface/lapack/zgetf2.c + interface/lapack/zgetrf.c + interface/lapack/zgetrs.c + interface/lapack/zlaswp.c + interface/lapack/zlauu2.c + interface/lapack/zlauum.c + interface/lapack/zpotf2.c + interface/lapack/zpotrf.c + interface/lapack/zpotri.c + interface/lapack/ztrti2.c + interface/lapack/ztrtri.c + interface/lapack/ztrtrs.c + interface/max.c + interface/nrm2.c + interface/rot.c + interface/sbgemmt.c + interface/sbgemv.c + interface/sbmv.c + interface/scal.c + interface/sdsdot.c + interface/spmv.c + interface/spr.c + interface/spr2.c + interface/swap.c + interface/symm.c + interface/symv.c + interface/syr.c + interface/syr2.c + interface/syr2k.c + interface/syrk.c + interface/tbmv.c + interface/tbsv.c + interface/tpmv.c + interface/tpsv.c + interface/trmv.c + interface/trsm.c + interface/trsv.c + interface/zaxpy.c + interface/zdot.c + interface/zgbmv.c + interface/zgeadd.c + interface/zgemv.c + interface/zger.c + interface/zhbmv.c + interface/zhemv.c + interface/zher.c + interface/zher2.c + interface/zhpmv.c + interface/zhpr.c + interface/zhpr2.c + interface/zrot.c + interface/zsbmv.c + interface/zscal.c + interface/zspmv.c + interface/zspr.c + interface/zspr2.c + interface/zswap.c + interface/zsymv.c + interface/zsyr.c + interface/zsyr2.c + interface/ztbmv.c + interface/ztbsv.c + interface/ztpmv.c + interface/ztpsv.c + interface/ztrmv.c + interface/ztrsv.c + kernel/arm64/cgemm_ncopy_sve_v1.c + kernel/arm64/cgemm_tcopy_sve_v1.c + kernel/arm64/symm_lcopy_sve.c + kernel/arm64/symm_ucopy_sve.c + kernel/arm64/trmm_lncopy_sve_v1.c + kernel/arm64/trmm_ltcopy_sve_v1.c + kernel/arm64/trmm_uncopy_sve_v1.c + kernel/arm64/trmm_utcopy_sve_v1.c + kernel/arm64/trsm_kernel_LN_sve.c + kernel/arm64/trsm_kernel_LT_sve.c + kernel/arm64/trsm_kernel_RN_sve.c + kernel/arm64/trsm_kernel_RT_sve.c + kernel/arm64/trsm_lncopy_sve.c + kernel/arm64/trsm_ltcopy_sve.c + kernel/arm64/trsm_uncopy_sve.c + kernel/arm64/trsm_utcopy_sve.c + kernel/arm64/zgemm_ncopy_sve_v1.c + kernel/arm64/zgemm_tcopy_sve_v1.c + kernel/arm64/zhemm_ltcopy_sve.c + kernel/arm64/zhemm_utcopy_sve.c + kernel/arm64/zsymm_lcopy_sve.c + kernel/arm64/zsymm_ucopy_sve.c + kernel/arm64/ztrmm_lncopy_sve_v1.c + kernel/arm64/ztrmm_ltcopy_sve_v1.c + kernel/arm64/ztrmm_uncopy_sve_v1.c + kernel/arm64/ztrmm_utcopy_sve_v1.c + kernel/arm64/ztrsm_lncopy_sve.c + kernel/arm64/ztrsm_ltcopy_sve.c + kernel/arm64/ztrsm_uncopy_sve.c + kernel/arm64/ztrsm_utcopy_sve.c + kernel/generic/cabs.c + kernel/generic/gemm_beta.c + kernel/generic/gemm_ncopy_1.c + kernel/generic/gemm_ncopy_16.c + kernel/generic/gemm_ncopy_2.c + kernel/generic/gemm_ncopy_4.c + kernel/generic/gemm_ncopy_6.c + kernel/generic/gemm_ncopy_8.c + kernel/generic/gemm_tcopy_1.c + kernel/generic/gemm_tcopy_16.c + kernel/generic/gemm_tcopy_2.c + kernel/generic/gemm_tcopy_4.c + kernel/generic/gemm_tcopy_6.c + kernel/generic/gemm_tcopy_8.c + kernel/generic/ger.c + kernel/generic/laswp_ncopy_1.c + kernel/generic/laswp_ncopy_2.c + kernel/generic/laswp_ncopy_4.c + kernel/generic/laswp_ncopy_6.c + kernel/generic/laswp_ncopy_8.c + kernel/generic/lsame.c + kernel/generic/neg_tcopy_1.c + kernel/generic/neg_tcopy_16.c + kernel/generic/neg_tcopy_2.c + kernel/generic/neg_tcopy_4.c + kernel/generic/neg_tcopy_8.c + kernel/generic/symm_lcopy_1.c + kernel/generic/symm_lcopy_16.c + kernel/generic/symm_lcopy_2.c + kernel/generic/symm_lcopy_4.c + kernel/generic/symm_lcopy_6.c + kernel/generic/symm_lcopy_8.c + kernel/generic/symm_ucopy_1.c + kernel/generic/symm_ucopy_16.c + kernel/generic/symm_ucopy_2.c + kernel/generic/symm_ucopy_4.c + kernel/generic/symm_ucopy_6.c + kernel/generic/symm_ucopy_8.c + kernel/generic/symv_k.c + kernel/generic/trmm_lncopy_1.c + kernel/generic/trmm_lncopy_16.c + kernel/generic/trmm_lncopy_2.c + kernel/generic/trmm_lncopy_4.c + kernel/generic/trmm_lncopy_6.c + kernel/generic/trmm_lncopy_8.c + kernel/generic/trmm_ltcopy_1.c + kernel/generic/trmm_ltcopy_16.c + kernel/generic/trmm_ltcopy_2.c + kernel/generic/trmm_ltcopy_4.c + kernel/generic/trmm_ltcopy_6.c + kernel/generic/trmm_ltcopy_8.c + kernel/generic/trmm_uncopy_1.c + kernel/generic/trmm_uncopy_16.c + kernel/generic/trmm_uncopy_2.c + kernel/generic/trmm_uncopy_4.c + kernel/generic/trmm_uncopy_6.c + kernel/generic/trmm_uncopy_8.c + kernel/generic/trmm_utcopy_1.c + kernel/generic/trmm_utcopy_16.c + kernel/generic/trmm_utcopy_2.c + kernel/generic/trmm_utcopy_4.c + kernel/generic/trmm_utcopy_6.c + kernel/generic/trmm_utcopy_8.c + kernel/generic/trsm_kernel_LN.c + kernel/generic/trsm_kernel_LT.c + kernel/generic/trsm_kernel_RN.c + kernel/generic/trsm_kernel_RT.c + kernel/generic/trsm_lncopy_1.c + kernel/generic/trsm_lncopy_16.c + kernel/generic/trsm_lncopy_2.c + kernel/generic/trsm_lncopy_4.c + kernel/generic/trsm_lncopy_6.c + kernel/generic/trsm_lncopy_8.c + kernel/generic/trsm_ltcopy_1.c + kernel/generic/trsm_ltcopy_16.c + kernel/generic/trsm_ltcopy_2.c + kernel/generic/trsm_ltcopy_4.c + kernel/generic/trsm_ltcopy_6.c + kernel/generic/trsm_ltcopy_8.c + kernel/generic/trsm_uncopy_1.c + kernel/generic/trsm_uncopy_16.c + kernel/generic/trsm_uncopy_2.c + kernel/generic/trsm_uncopy_4.c + kernel/generic/trsm_uncopy_6.c + kernel/generic/trsm_uncopy_8.c + kernel/generic/trsm_utcopy_1.c + kernel/generic/trsm_utcopy_16.c + kernel/generic/trsm_utcopy_2.c + kernel/generic/trsm_utcopy_4.c + kernel/generic/trsm_utcopy_6.c + kernel/generic/trsm_utcopy_8.c + kernel/generic/zgemm3m_ncopy_1.c + kernel/generic/zgemm3m_ncopy_2.c + kernel/generic/zgemm3m_ncopy_4.c + kernel/generic/zgemm3m_ncopy_8.c + kernel/generic/zgemm3m_tcopy_1.c + kernel/generic/zgemm3m_tcopy_2.c + kernel/generic/zgemm3m_tcopy_4.c + kernel/generic/zgemm3m_tcopy_8.c + kernel/generic/zgemm_beta.c + kernel/generic/zgemm_ncopy_1.c + kernel/generic/zgemm_ncopy_2.c + kernel/generic/zgemm_ncopy_4.c + kernel/generic/zgemm_ncopy_8.c + kernel/generic/zgemm_tcopy_1.c + kernel/generic/zgemm_tcopy_2.c + kernel/generic/zgemm_tcopy_4.c + kernel/generic/zgemm_tcopy_8.c + kernel/generic/zger.c + kernel/generic/zhemm3m_lcopy_1.c + kernel/generic/zhemm3m_lcopy_2.c + kernel/generic/zhemm3m_lcopy_4.c + kernel/generic/zhemm3m_lcopy_8.c + kernel/generic/zhemm3m_ucopy_1.c + kernel/generic/zhemm3m_ucopy_2.c + kernel/generic/zhemm3m_ucopy_4.c + kernel/generic/zhemm3m_ucopy_8.c + kernel/generic/zhemm_ltcopy_1.c + kernel/generic/zhemm_ltcopy_2.c + kernel/generic/zhemm_ltcopy_4.c + kernel/generic/zhemm_ltcopy_8.c + kernel/generic/zhemm_utcopy_1.c + kernel/generic/zhemm_utcopy_2.c + kernel/generic/zhemm_utcopy_4.c + kernel/generic/zhemm_utcopy_8.c + kernel/generic/zhemv_k.c + kernel/generic/zlaswp_ncopy_1.c + kernel/generic/zlaswp_ncopy_2.c + kernel/generic/zlaswp_ncopy_4.c + kernel/generic/zlaswp_ncopy_8.c + kernel/generic/zneg_tcopy_1.c + kernel/generic/zneg_tcopy_2.c + kernel/generic/zneg_tcopy_4.c + kernel/generic/zneg_tcopy_8.c + kernel/generic/zsymm3m_lcopy_1.c + kernel/generic/zsymm3m_lcopy_2.c + kernel/generic/zsymm3m_lcopy_4.c + kernel/generic/zsymm3m_lcopy_8.c + kernel/generic/zsymm3m_ucopy_1.c + kernel/generic/zsymm3m_ucopy_2.c + kernel/generic/zsymm3m_ucopy_4.c + kernel/generic/zsymm3m_ucopy_8.c + kernel/generic/zsymm_lcopy_1.c + kernel/generic/zsymm_lcopy_2.c + kernel/generic/zsymm_lcopy_4.c + kernel/generic/zsymm_lcopy_8.c + kernel/generic/zsymm_ucopy_1.c + kernel/generic/zsymm_ucopy_2.c + kernel/generic/zsymm_ucopy_4.c + kernel/generic/zsymm_ucopy_8.c + kernel/generic/zsymv_k.c + kernel/generic/ztrmm_lncopy_1.c + kernel/generic/ztrmm_lncopy_2.c + kernel/generic/ztrmm_lncopy_4.c + kernel/generic/ztrmm_lncopy_8.c + kernel/generic/ztrmm_ltcopy_1.c + kernel/generic/ztrmm_ltcopy_2.c + kernel/generic/ztrmm_ltcopy_4.c + kernel/generic/ztrmm_ltcopy_8.c + kernel/generic/ztrmm_uncopy_1.c + kernel/generic/ztrmm_uncopy_2.c + kernel/generic/ztrmm_uncopy_4.c + kernel/generic/ztrmm_uncopy_8.c + kernel/generic/ztrmm_utcopy_1.c + kernel/generic/ztrmm_utcopy_2.c + kernel/generic/ztrmm_utcopy_4.c + kernel/generic/ztrmm_utcopy_8.c + kernel/generic/ztrsm_lncopy_1.c + kernel/generic/ztrsm_lncopy_2.c + kernel/generic/ztrsm_lncopy_4.c + kernel/generic/ztrsm_lncopy_8.c + kernel/generic/ztrsm_ltcopy_1.c + kernel/generic/ztrsm_ltcopy_2.c + kernel/generic/ztrsm_ltcopy_4.c + kernel/generic/ztrsm_ltcopy_8.c + kernel/generic/ztrsm_uncopy_1.c + kernel/generic/ztrsm_uncopy_2.c + kernel/generic/ztrsm_uncopy_4.c + kernel/generic/ztrsm_uncopy_8.c + kernel/generic/ztrsm_utcopy_1.c + kernel/generic/ztrsm_utcopy_2.c + kernel/generic/ztrsm_utcopy_4.c + kernel/generic/ztrsm_utcopy_8.c + kernel/loongarch64/gemm_ncopy_6.prefx.c + kernel/loongarch64/trsm_kernel_LN_UNROLLN6.c + kernel/loongarch64/trsm_kernel_LT_UNROLLN6.c + kernel/loongarch64/trsm_kernel_RN_UNROLLN6.c + kernel/loongarch64/trsm_kernel_RT_UNROLLN6.c + kernel/power/lock.c + kernel/power/dgemm_ncopy_8_power10.c + kernel/power/sbgemm_ncopy_16_power10.c + kernel/power/sbgemm_ncopy_8_power10.c + kernel/power/sbgemm_tcopy_16_power10.c + kernel/power/sbgemm_tcopy_8_power10.c + kernel/power/sgemm_ncopy_16_power.c + kernel/power/trsm_kernel_LN_power10.c + kernel/power/trsm_kernel_LT_power10.c + kernel/power/trsm_kernel_RN_power10.c + kernel/power/trsm_kernel_RT_power10.c + kernel/riscv64/zgemm_beta_rvv.c + kernel/setparam-ref.c + kernel/x86_64/dger.c + kernel/x86_64/sger.c + kernel/x86_64/ctrsm_kernel_LN_bulldozer.c + kernel/x86_64/ctrsm_kernel_LT_bulldozer.c + kernel/x86_64/ctrsm_kernel_RN_bulldozer.c + kernel/x86_64/ctrsm_kernel_RT_bulldozer.c + kernel/x86_64/dgemm_beta_skylakex.c + kernel/x86_64/dgemm_kernel_16x2_skylakex.S + kernel/x86_64/dgemm_ncopy_8_skylakex.c + kernel/x86_64/dgemm_tcopy_8_skylakex.c + kernel/x86_64/dtrsm_kernel_LN_bulldozer.c + kernel/x86_64/dtrsm_kernel_RN_haswell.c + kernel/x86_64/dtrsm_kernel_RT_bulldozer.c + kernel/x86_64/sgemm_beta_skylakex.c + kernel/x86_64/sgemm_ncopy_4_skylakex.c + kernel/x86_64/sgemm_tcopy_16_skylakex.c + kernel/x86_64/strsm_kernel_LN_bulldozer.c + kernel/x86_64/strsm_kernel_LT_bulldozer.c + kernel/x86_64/strsm_kernel_RN_bulldozer.c + kernel/x86_64/strsm_kernel_RT_bulldozer.c + kernel/x86_64/zsum_sse.S + kernel/x86_64/zsum_sse2.S + kernel/x86_64/ztrsm_kernel_LN_bulldozer.c + kernel/x86_64/ztrsm_kernel_LT_bulldozer.c + kernel/x86_64/ztrsm_kernel_RN_bulldozer.c + kernel/x86_64/ztrsm_kernel_RT_bulldozer.c + lapack/getf2/getf2_k.c + lapack/getf2/zgetf2_k.c + lapack/getrf/getrf_parallel.c + lapack/getrf/getrf_parallel_omp.c + lapack/getrf/getrf_single.c + lapack/getrs/getrs_parallel.c + lapack/getrs/getrs_single.c + lapack/getrs/zgetrs_parallel.c + lapack/getrs/zgetrs_single.c + lapack/laswp/generic/laswp_k.c + lapack/laswp/generic/laswp_k_1.c + lapack/laswp/generic/laswp_k_2.c + lapack/laswp/generic/laswp_k_4.c + lapack/laswp/generic/laswp_k_8.c + lapack/laswp/generic/zlaswp_k.c + lapack/laswp/generic/zlaswp_k_1.c + lapack/laswp/generic/zlaswp_k_2.c + lapack/laswp/generic/zlaswp_k_4.c + lapack/lauu2/lauu2_L.c + lapack/lauu2/lauu2_U.c + lapack/lauu2/zlauu2_L.c + lapack/lauu2/zlauu2_U.c + lapack/lauum/lauum_L_parallel.c + lapack/lauum/lauum_L_single.c + lapack/lauum/lauum_U_parallel.c + lapack/lauum/lauum_U_single.c + lapack/potf2/potf2_L.c + lapack/potf2/potf2_U.c + lapack/potf2/zpotf2_L.c + lapack/potf2/zpotf2_U.c + lapack/potrf/potrf_L_parallel.c + lapack/potrf/potrf_L_single.c + lapack/potrf/potrf_U_parallel.c + lapack/potrf/potrf_U_single.c + lapack/potrf/potrf_parallel.c + lapack/trti2/trti2_L.c + lapack/trti2/trti2_U.c + lapack/trti2/ztrti2_L.c + lapack/trti2/ztrti2_U.c + lapack/trtri/trtri_L_parallel.c + lapack/trtri/trtri_U_parallel.c + lapack/trtrs/trtrs_parallel.c + lapack/trtrs/trtrs_single.c + lapack/trtrs/ztrtrs_parallel.c + lapack/trtrs/ztrtrs_single.c + symcopy.h +Copyright: 2009-2010, 2024 The University of Texas at Austin + 2023-2024 The OpenBLAS Project +License: BSD-2-clause-texas + 1. Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + . + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT + AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT + AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + . + The views and conclusions contained in the software and + documentation are those of the authors and should not be + interpreted as representing official policies, either expressed + or implied, of The University of Texas at Austin. + +Files: ctest/* reference/* test/* +Copyright: none +License: public-domain + These files come from netlib.org and are in the public domain. + +Files: utest/ctest.h +Copyright: 2011-2016 Bas van den Berg +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License, + version 2.0, can be found in the file + `/usr/share/common-licenses/Apache-2.0'. + +Files: debian/* +Copyright: 2011-2012 Sylvestre Ledru + 2012-2024 Sébastien Villemot +License: BSD-2-clause + 1. Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + . + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT + AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT + AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. diff --git a/lapack-openblas.pc.in b/lapack-openblas.pc.in new file mode 100644 index 00000000..849fe7c1 --- /dev/null +++ b/lapack-openblas.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@ +includedir=${prefix}/include/@DEB_HOST_MULTIARCH@ +Name: openblas-lapack@INDEXING@ +Description: Optimized BLAS (linear algebra) library, LAPACK +Version: @DEB_VERSION_UPSTREAM@ +URL: https://github.com/OpenMathLib/OpenBLAS +Libs: -L${libdir} -llapack@INDEXING@ +Libs.private: -L${libdir} -llapack@INDEXING@ -lgfortran -lpthread -lm +Cflags: -I${includedir} diff --git a/libopenblas-XXX-dev.dirs b/libopenblas-XXX-dev.dirs new file mode 100644 index 00000000..b332d022 --- /dev/null +++ b/libopenblas-XXX-dev.dirs @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig +usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas diff --git a/libopenblas-XXX-dev.install b/libopenblas-XXX-dev.install new file mode 100644 index 00000000..ca322de6 --- /dev/null +++ b/libopenblas-XXX-dev.install @@ -0,0 +1,5 @@ +usr/lib/*/@SUBDIR@/libopenblas*.a +usr/lib/*/@SUBDIR@/libopenblas.so +usr/lib/*/@SUBDIR@/pkgconfig/* +usr/lib/*/@SUBDIR@/cmake/* +usr/include/*/@SUBDIR@/* diff --git a/libopenblas-XXX-dev.links b/libopenblas-XXX-dev.links new file mode 100644 index 00000000..07731906 --- /dev/null +++ b/libopenblas-XXX-dev.links @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.so +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.so diff --git a/libopenblas-XXX-dev.postinst b/libopenblas-XXX-dev.postinst new file mode 100644 index 00000000..e8721844 --- /dev/null +++ b/libopenblas-XXX-dev.postinst @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +# begin-remove-after: released:trixie +# Work around DEP17 P6 via M23 (see #1065681) +mkdir -p "${DPKG_ROOT:-}/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig" +# end-remove-after + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas.so \ + libblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libblas.a \ + libblas.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas.h \ + cblas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas.pc \ + blas.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/blas-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so \ + liblapack.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.a \ + liblapack.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.a \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack.pc \ + lapack.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/lapack-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.so \ + libopenblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.a \ + libopenblas.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas-openblas.h \ + cblas-openblas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/f77blas.h \ + f77blas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/f77blas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/openblas_config.h \ + openblas_config.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/openblas_config.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/openblas.pc \ + openblas.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/openblas.pc \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas/OpenBLASConfig.cmake \ + OpenBLASConfig.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfig.cmake \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas/OpenBLASConfigVersion.cmake \ + OpenBLASConfigVersion.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfigVersion.cmake + +#DEBHELPER# + +exit 0 diff --git a/libopenblas-XXX-dev.prerm b/libopenblas-XXX-dev.prerm new file mode 100644 index 00000000..6490762f --- /dev/null +++ b/libopenblas-XXX-dev.prerm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so + + update-alternatives --remove liblapack.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so + + update-alternatives --remove libopenblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas-dev.docs b/libopenblas-dev.docs new file mode 100644 index 00000000..7a830051 --- /dev/null +++ b/libopenblas-dev.docs @@ -0,0 +1,4 @@ +README.md +USAGE.md +CONTRIBUTORS.md +BACKERS.md diff --git a/libopenblas-dev.lintian-overrides b/libopenblas-dev.lintian-overrides new file mode 100644 index 00000000..c0309ec4 --- /dev/null +++ b/libopenblas-dev.lintian-overrides @@ -0,0 +1 @@ +libopenblas-dev: wrong-section-according-to-package-name diff --git a/libopenblas0-XXX.install b/libopenblas0-XXX.install new file mode 100644 index 00000000..d0dade33 --- /dev/null +++ b/libopenblas0-XXX.install @@ -0,0 +1,4 @@ +usr/lib/*/@SUBDIR@/libopenblas*-r0.*.so +usr/lib/*/@SUBDIR@/libopenblas.so.0 +@FLAVOR@/interface/libblas.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ +@FLAVOR@/interface/liblapack.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ diff --git a/libopenblas0-XXX.postinst b/libopenblas0-XXX.postinst new file mode 100644 index 00000000..ddde6d84 --- /dev/null +++ b/libopenblas0-XXX.postinst @@ -0,0 +1,18 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas.so.3 \ + libblas.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so.3 \ + liblapack.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.so.0 \ + libopenblas.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so.0 @OPENBLAS_PRI@ + +#DEBHELPER# + +exit 0 diff --git a/libopenblas0-XXX.prerm b/libopenblas0-XXX.prerm new file mode 100644 index 00000000..77e79bb6 --- /dev/null +++ b/libopenblas0-XXX.prerm @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so.3 + + update-alternatives --remove liblapack.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so.3 + + update-alternatives --remove libopenblas.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so.0 +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas0-XXX.shlibs b/libopenblas0-XXX.shlibs new file mode 100644 index 00000000..93d1aabf --- /dev/null +++ b/libopenblas0-XXX.shlibs @@ -0,0 +1,8 @@ +# We want packages linked with -lblas to depend on any BLAS alternative, and we +# want packages linked with -lopenblas to depend specifically on libopenblas0. +# +# Such a setting is not supported by dh_makeshlibs, so we ship a hand-crafted +# shlibs file. +libopenblas 0 libopenblas0 +libblas 3 libblas3 | libblas.so.3 +liblapack 3 liblapack3 | liblapack.so.3 diff --git a/libopenblas0-openmp.lintian-overrides b/libopenblas0-openmp.lintian-overrides new file mode 100644 index 00000000..6c0c298e --- /dev/null +++ b/libopenblas0-openmp.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-openmp: distant-prerequisite-in-shlibs +libopenblas0-openmp: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0-pthread.lintian-overrides b/libopenblas0-pthread.lintian-overrides new file mode 100644 index 00000000..c776d145 --- /dev/null +++ b/libopenblas0-pthread.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-pthread: distant-prerequisite-in-shlibs +libopenblas0-pthread: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0-serial.lintian-overrides b/libopenblas0-serial.lintian-overrides new file mode 100644 index 00000000..b38653b8 --- /dev/null +++ b/libopenblas0-serial.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-serial: distant-prerequisite-in-shlibs +libopenblas0-serial: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0.lintian-overrides b/libopenblas0.lintian-overrides new file mode 100644 index 00000000..f9463c75 --- /dev/null +++ b/libopenblas0.lintian-overrides @@ -0,0 +1 @@ +libopenblas0: wrong-section-according-to-package-name diff --git a/libopenblas64-0-XXX.install b/libopenblas64-0-XXX.install new file mode 100644 index 00000000..57397f51 --- /dev/null +++ b/libopenblas64-0-XXX.install @@ -0,0 +1,4 @@ +usr/lib/*/@SUBDIR@/libopenblas64*-r0.*.so +usr/lib/*/@SUBDIR@/libopenblas64.so.0 +@FLAVOR@/interface/libblas64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ +@FLAVOR@/interface/liblapack64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ diff --git a/libopenblas64-0-XXX.postinst b/libopenblas64-0-XXX.postinst new file mode 100644 index 00000000..51c85432 --- /dev/null +++ b/libopenblas64-0-XXX.postinst @@ -0,0 +1,18 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.so.3 \ + libblas64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.so.3 \ + liblapack64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.so.0 \ + libopenblas64.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so.0 @OPENBLAS_PRI@ + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-0-XXX.prerm b/libopenblas64-0-XXX.prerm new file mode 100644 index 00000000..2d5bd785 --- /dev/null +++ b/libopenblas64-0-XXX.prerm @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so.3 + + update-alternatives --remove liblapack64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so.3 + + update-alternatives --remove libopenblas64.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so.0 +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-0-XXX.shlibs b/libopenblas64-0-XXX.shlibs new file mode 100644 index 00000000..b2961c47 --- /dev/null +++ b/libopenblas64-0-XXX.shlibs @@ -0,0 +1,8 @@ +# We want packages linked with -lblas to depend on any BLAS alternative, and we +# want packages linked with -lopenblas to depend specifically on libopenblas0. +# +# Such a setting is not supported by dh_makeshlibs, so we ship a hand-crafted +# shlibs file. +libopenblas64 0 libopenblas64-0 +libblas64 3 libopenblas64-0 | libblas64.so.3 +liblapack64 3 libopenblas64-0 | liblapack64.so.3 diff --git a/libopenblas64-0-openmp.lintian-overrides b/libopenblas64-0-openmp.lintian-overrides new file mode 100644 index 00000000..61a9a46c --- /dev/null +++ b/libopenblas64-0-openmp.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-openmp: distant-prerequisite-in-shlibs +libopenblas64-0-openmp: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0-pthread.lintian-overrides b/libopenblas64-0-pthread.lintian-overrides new file mode 100644 index 00000000..a7804f6f --- /dev/null +++ b/libopenblas64-0-pthread.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-pthread: distant-prerequisite-in-shlibs +libopenblas64-0-pthread: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0-serial.lintian-overrides b/libopenblas64-0-serial.lintian-overrides new file mode 100644 index 00000000..b135c904 --- /dev/null +++ b/libopenblas64-0-serial.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-serial: distant-prerequisite-in-shlibs +libopenblas64-0-serial: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0.lintian-overrides b/libopenblas64-0.lintian-overrides new file mode 100644 index 00000000..1d9763ab --- /dev/null +++ b/libopenblas64-0.lintian-overrides @@ -0,0 +1 @@ +libopenblas64-0: wrong-section-according-to-package-name diff --git a/libopenblas64-XXX-dev.dirs b/libopenblas64-XXX-dev.dirs new file mode 100644 index 00000000..022148de --- /dev/null +++ b/libopenblas64-XXX-dev.dirs @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig +usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64 diff --git a/libopenblas64-XXX-dev.install b/libopenblas64-XXX-dev.install new file mode 100644 index 00000000..9087c6ce --- /dev/null +++ b/libopenblas64-XXX-dev.install @@ -0,0 +1,5 @@ +usr/lib/*/@SUBDIR@/libopenblas64*.a +usr/lib/*/@SUBDIR@/libopenblas64.so +usr/lib/*/@SUBDIR@/pkgconfig/* +usr/lib/*/@SUBDIR@/cmake/* +usr/include/*/@SUBDIR@/* diff --git a/libopenblas64-XXX-dev.links b/libopenblas64-XXX-dev.links new file mode 100644 index 00000000..db261a78 --- /dev/null +++ b/libopenblas64-XXX-dev.links @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas64.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas64.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.so +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.so diff --git a/libopenblas64-XXX-dev.postinst b/libopenblas64-XXX-dev.postinst new file mode 100644 index 00000000..9ffb5b29 --- /dev/null +++ b/libopenblas64-XXX-dev.postinst @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +# begin-remove-after: released:trixie +# Work around DEP17 P6 via M23 (see #1065681) +mkdir -p "${DPKG_ROOT:-}/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig" +# end-remove-after +# +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.so \ + libblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.a \ + libblas64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas64.h \ + cblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas64.pc \ + blas64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/blas-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.so \ + liblapack64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.a \ + liblapack64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.a \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack64.pc \ + lapack64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/lapack-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.so \ + libopenblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.a \ + libopenblas64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas-openblas64.h \ + cblas-openblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/f77blas-openblas64.h \ + f77blas-openblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/f77blas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/openblas64_config.h \ + openblas64_config.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/openblas_config.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/openblas64.pc \ + openblas64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/openblas64.pc \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64/OpenBLAS64Config.cmake \ + OpenBLAS64Config.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfig.cmake \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64/OpenBLAS64ConfigVersion.cmake \ + OpenBLAS64ConfigVersion.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfigVersion.cmake + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-XXX-dev.prerm b/libopenblas64-XXX-dev.prerm new file mode 100644 index 00000000..dfca8172 --- /dev/null +++ b/libopenblas64-XXX-dev.prerm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so + + update-alternatives --remove liblapack64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so + + update-alternatives --remove libopenblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-dev.lintian-overrides b/libopenblas64-dev.lintian-overrides new file mode 100644 index 00000000..6f5a3172 --- /dev/null +++ b/libopenblas64-dev.lintian-overrides @@ -0,0 +1 @@ +libopenblas64-dev: wrong-section-according-to-package-name diff --git a/patches/arm-gcc-flags.patch b/patches/arm-gcc-flags.patch new file mode 100644 index 00000000..4b971d42 --- /dev/null +++ b/patches/arm-gcc-flags.patch @@ -0,0 +1,22 @@ +Description: Use flags suitable for armhf port when TARGET=ARMV6 + See debian/rules for an explanation of why we can't use TARGET=ARMV7 on armhf. + Also, if we don't explicitly set the -march and -mfpu flags, the resulting + static libraries crash with SIGILL (reason not yet elucidated). +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2015-04-29 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Makefile.arm ++++ b/Makefile.arm +@@ -9,8 +9,8 @@ endif + endif + + ifeq ($(CORE), ARMV6) +-CCOMMON_OPT += -mfpu=vfp +-FCOMMON_OPT += -mfpu=vfp ++CCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a ++FCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a + endif + + ifdef HAVE_NEON diff --git a/patches/combssq-deprecate.patch b/patches/combssq-deprecate.patch new file mode 100644 index 00000000..d5cd2df4 --- /dev/null +++ b/patches/combssq-deprecate.patch @@ -0,0 +1,22 @@ +Description: No longer check for symbols deprecated in LAPACK 3.10.1 +Author: Mo Zhou +Bug-Debian: https://bugs.debian.org/1011386 +Forwarded: no +Last-Update: 2022-08-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/exports/gensymbol ++++ b/exports/gensymbol +@@ -743,12 +743,10 @@ lapackobjs2c="$lapackobjs2c + cungtsqr + " + lapackobjs2d="$lapackobjs2d +- dcombssq + dgesvdq + dorgtsqr + " + lapackobjs2s="$lapackobjs2s +- scombssq + sgesvdq + sorgtsqr + " diff --git a/patches/gcc14-mips64el.patch b/patches/gcc14-mips64el.patch new file mode 100644 index 00000000..6f4db10c --- /dev/null +++ b/patches/gcc14-mips64el.patch @@ -0,0 +1,33 @@ +Description: Fix FTBFS on mips64el with GCC 14 +Origin: upstream, https://github.com/OpenMathLib/OpenBLAS/pull/4864 +Bug: https://github.com/OpenMathLib/OpenBLAS/issues/4862 +Reviewed-by: Sébastien Villemot +Last-Update: 2024-08-13 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +diff --git a/lapack/potrf/potrf_L_parallel.c b/lapack/potrf/potrf_L_parallel.c +index 7d6bcd776..6a2e4d430 100644 +--- a/lapack/potrf/potrf_L_parallel.c ++++ b/lapack/potrf/potrf_L_parallel.c +@@ -121,7 +121,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, + HERK_THREAD_LN(&newarg, NULL, NULL, sa, sb, 0); + #else + syrk_thread(mode | BLAS_TRANSA_N | BLAS_TRANSB_T | BLAS_UPLO, +- &newarg, NULL, NULL, (int (*)(void))HERK_LN, sa, sb, args -> nthreads); ++ &newarg, NULL, NULL, (int (*)(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG))HERK_LN, sa, sb, args -> nthreads); + #endif + } + } +diff --git a/lapack/potrf/potrf_U_parallel.c b/lapack/potrf/potrf_U_parallel.c +index 1f1427276..de7d33374 100644 +--- a/lapack/potrf/potrf_U_parallel.c ++++ b/lapack/potrf/potrf_U_parallel.c +@@ -121,7 +121,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, + HERK_THREAD_UC(&newarg, NULL, NULL, sa, sb, 0); + #else + syrk_thread(mode | BLAS_TRANSA_N | BLAS_TRANSB_T, +- &newarg, NULL, NULL, (int (*)(void))HERK_UC, sa, sb, args -> nthreads); ++ &newarg, NULL, NULL, (int (*)(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG))HERK_UC, sa, sb, args -> nthreads); + #endif + } + } diff --git a/patches/matgen-symbols-not-included.patch b/patches/matgen-symbols-not-included.patch new file mode 100644 index 00000000..15502a28 --- /dev/null +++ b/patches/matgen-symbols-not-included.patch @@ -0,0 +1,112 @@ +Description: MATGEN symbols are not included in Debian binary + The libopenblas binaries do not include libmatgen code, so don't mark them as + exported and don't test for their presence (in linktest). +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2016-03-24 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/exports/gensymbol ++++ b/exports/gensymbol +@@ -587,24 +587,6 @@ lapackobjs2c="$lapackobjs2c + cggsvp3 + cgsvj0 + cgsvj1 +- clagge +- claghe +- clagsy +- clahilb +- clakf2 +- clarge +- clarnd +- claror +- clarot +- clatm1 +- clatm2 +- clatm3 +- clatm5 +- clatm6 +- clatme +- clatmr +- clatms +- clatmt + cpotrf2 + csbmv + cspr2 +@@ -622,25 +604,6 @@ lapackobjs2d="$lapackobjs2d + dggsvd3 + dggsvp3 + dladiv2 +- dlagge +- dlagsy +- dlahilb +- dlakf2 +- dlaran +- dlarge +- dlarnd +- dlaror +- dlarot +- dlatm1 +- dlatm2 +- dlatm3 +- dlatm5 +- dlatm6 +- dlatm7 +- dlatme +- dlatmr +- dlatms +- dlatmt + dorm22 + dpotrf2 + dsecnd +@@ -657,25 +620,6 @@ lapackobjs2s="$lapackobjs2s + sggsvd3 + sggsvp3 + sladiv2 +- slagge +- slagsy +- slahilb +- slakf2 +- slaran +- slarge +- slarnd +- slaror +- slarot +- slatm1 +- slatm2 +- slatm3 +- slatm5 +- slatm6 +- slatm7 +- slatme +- slatmr +- slatms +- slatmt + sorm22 + spotrf2 + " +@@ -692,24 +636,6 @@ lapackobjs2z="$lapackobjs2z + zggsvp3 + zgsvj0 + zgsvj1 +- zlagge +- zlaghe +- zlagsy +- zlahilb +- zlakf2 +- zlarge +- zlarnd +- zlaror +- zlarot +- zlatm1 +- zlatm2 +- zlatm3 +- zlatm5 +- zlatm6 +- zlatme +- zlatmr +- zlatms +- zlatmt + zpotrf2 + zsbmv + zspr2 diff --git a/patches/no-embedded-lapack.patch b/patches/no-embedded-lapack.patch new file mode 100644 index 00000000..a8d29c00 --- /dev/null +++ b/patches/no-embedded-lapack.patch @@ -0,0 +1,169 @@ +Description: Adapt build system for the absence of lapack-netlib/ and relapack directories. + Instead use the binary provided by package liblapack-pic, stripping from it the + symbols that are overridden by OpenBLAS. +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2017-07-27 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Makefile ++++ b/Makefile +@@ -286,95 +286,20 @@ hpl_p : + fi; \ + done + +-netlib : lapack_prebuild +-ifneq ($(NO_LAPACK), 1) +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib +-endif +-ifneq ($(NO_LAPACKE), 1) +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib +-endif +- +-ifeq ($(NO_LAPACK), 1) +-re_lapack : ++netlib : lapack-netlib + ++lapack-netlib: ++ mkdir lapack-netlib ++ifeq (,$(filter libopenblas64%,$(LIBNAME))) ++ cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack_pic.a + else +-re_lapack : +- @$(MAKE) -C relapack ++ cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack64_pic.a + endif ++ make -C interface delete-duplicate-lapack-objects ++ ar -ru $(LIBNAME) `LC_ALL=C ls lapack-netlib/*` + +-prof_lapack : lapack_prebuild +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof +- +-lapack_prebuild : +-ifeq ($(NO_LAPACK), $(filter 0,$(NO_LAPACK))) +- -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(F_COMPILER), GFORTRAN) +- -@echo "override FFLAGS = $(LAPACK_FFLAGS) -fno-tree-vectorize" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +- -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGGFORTRAN1) +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +-ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGIBM1) +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-endif +- -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "TMGLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKELIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(F_COMPILER), GFORTRAN) +- -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifdef SMP +-ifeq ($(OSNAME), WINNT) +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-else ifeq ($(OSNAME), Haiku) +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-else +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-else +- -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_LAPACK_DEPRECATED), 1) +- -@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_SINGLE), 1) +- -@echo "BUILD_SINGLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_DOUBLE), 1) +- -@echo "BUILD_DOUBLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_COMPLEX), 1) +- -@echo "BUILD_COMPLEX = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_COMPLEX16), 1) +- -@echo "BUILD_COMPLEX16 = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +- -@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc +-endif ++clean:: ++ rm -rf lapack-netlib + + large.tgz : + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) +@@ -442,10 +367,5 @@ ifeq ($(OSNAME), Darwin) + endif + @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib + @rm -f cblas.tmp cblas.tmp2 +- @touch $(NETLIB_LAPACK_DIR)/make.inc +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) clean +- @rm -f $(NETLIB_LAPACK_DIR)/make.inc $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling.h +- @$(MAKE) -C relapack clean + @rm -f *.grd Makefile.conf_last config_last.h +- @(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out testing_results.txt) + @echo Done. +--- a/Makefile.system ++++ b/Makefile.system +@@ -44,8 +44,6 @@ else ifeq ($(ARCH), zarch) + override ARCH=zarch + endif + +-NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib +- + # Default C compiler + # - Only set if not specified on the command line or inherited from the environment. + # - CC is an implicit variable so neither '?=' or 'ifndef' can be used. +--- a/interface/Makefile ++++ b/interface/Makefile +@@ -2433,3 +2433,10 @@ cblas_cgemm_batch.$(SUFFIX) cblas_cgemm_ + + cblas_zgemm_batch.$(SUFFIX) cblas_zgemm_batch.$(PSUFFIX) : gemm_batch.c ../param.h + $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) ++ ++# The list of symbols to be removed can be seen in the diff between LAPACK's ++# original SRC/Makefile and the version of that same file that is included in ++# OpenBLAS (unfiltered) tarball ++delete-duplicate-lapack-objects: ++ if test -d ../lapack-netlib; then cd ../lapack-netlib \ ++ && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi +--- a/Makefile.install ++++ b/Makefile.install +@@ -89,15 +89,6 @@ endif + endif + + ifneq ($(OSNAME), AIX) +-ifneq ($(NO_LAPACKE), 1) +- @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapack.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapack.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_config.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_mangling_with_flags.h.in "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_utils.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h" +-endif +- + #for install static library + ifneq ($(NO_STATIC),1) + @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) diff --git a/patches/openblas-Fixed-undefined-reference-to-blas_set_parameter.patc b/patches/openblas-Fixed-undefined-reference-to-blas_set_parameter.patc new file mode 100644 index 00000000..9843051e --- /dev/null +++ b/patches/openblas-Fixed-undefined-reference-to-blas_set_parameter.patc @@ -0,0 +1,19 @@ +Description: Fixed the undefined reference to blas_set_parameter +Author: Dandan Zhang +Applied-Upstream: <0.3.29>, +Last-Update: 2024-11-01 + +--- openblas-0.3.28+ds.orig/driver/others/blas_server_omp.c ++++ openblas-0.3.28+ds/driver/others/blas_server_omp.c +@@ -114,9 +114,11 @@ void goto_set_num_threads(int num_thread + + adjust_thread_buffers(); + #if defined(ARCH_MIPS64) || defined(ARCH_LOONGARCH64) ++#ifndef DYNAMIC_ARCH + //set parameters for different number of threads. + blas_set_parameter(); ++#endif + #endif + + } + void openblas_set_num_threads(int num_threads) { diff --git a/patches/remove-openmp-warning.patch b/patches/remove-openmp-warning.patch new file mode 100644 index 00000000..104a70cc --- /dev/null +++ b/patches/remove-openmp-warning.patch @@ -0,0 +1,27 @@ +Description: Remove warning about OpenMP + This warning is annoying when the library is built with pthreads. + See #684344 +Author: Sébastien Villemot +Forwarded: no +Last-Update: 2014-02-17 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/driver/others/blas_server.c ++++ b/driver/others/blas_server.c +@@ -811,16 +811,6 @@ if (openblas_threads_callback_) { + } + + +-#ifdef __ELF__ +- if (omp_in_parallel && (num > 1)) { +- if (omp_in_parallel() > 0) { +- fprintf(stderr, +- "OpenBLAS Warning : Detect OpenMP Loop and this application may hang. " +- "Please rebuild the library with USE_OPENMP=1 option.\n"); +- } +- } +-#endif +- + if ((num > 1) && queue -> next) exec_blas_async(1, queue -> next); + + #ifdef TIMING_DEBUG diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..094b6f12 --- /dev/null +++ b/patches/series @@ -0,0 +1,8 @@ +arm-gcc-flags.patch +remove-openmp-warning.patch +no-embedded-lapack.patch +shared-blas-lapack.patch +matgen-symbols-not-included.patch +combssq-deprecate.patch +gcc14-mips64el.patch +openblas-Fixed-undefined-reference-to-blas_set_parameter.patc diff --git a/patches/shared-blas-lapack.patch b/patches/shared-blas-lapack.patch new file mode 100644 index 00000000..4366ce53 --- /dev/null +++ b/patches/shared-blas-lapack.patch @@ -0,0 +1,52 @@ +Description: Create shared libraries lib{blas,lapack}.so.3 + * It is done so that duplicate code with libopenblas.so.0 is kept as low as + possible. Only the symbols from the external BLAS/LAPACK API are incorporated + in the shared libraries. The rest is obtained by dynamic linking against + libopenblas.so.0. This also gives access to some extra OpenBLAS symbols, in + order to differentiate it at runtime from other BLAS implementations (see + #960728). + The -rpath,'$ORIGIN' is there to ensure that the OpenBLAS flavour used is + the one selected in the lib{blas,lapack}.so.3 alternative, and not the one + selected in the libopenblas.so.0 alternative. + * See also override_dh_shlibdeps in debian/rules + * Also order the files when calling `ar' or $(CC), to make + the build reproducible (see #824639) + * Also link the shared blas and lapack against gomp (see #945791) +Author: Sébastien Villemot +Author: Alexis Bienvenüe +Author: Mo Zhou +Forwarded: not-needed +Last-Update: 2020-07-31 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/interface/Makefile ++++ b/interface/Makefile +@@ -2440,3 +2440,28 @@ cblas_zgemm_batch.$(SUFFIX) cblas_zgemm_ + delete-duplicate-lapack-objects: + if test -d ../lapack-netlib; then cd ../lapack-netlib \ + && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi ++ ++shared-blas-lapack: libblas.so.3 liblapack.so.3 ++shared-blas64-lapack64: libblas64.so.3 liblapack64.so.3 ++ifneq (0,$(USE_OPENMP)) ++SH_BLAS_LAPACK_OMP=-fopenmp -lgomp ++endif ++ ++# The list of prerequisite is created by comparing with NETLIB BLAS public API. ++# The symbol cblas_xerbla is missing here, but it does not seem to be provided ++# by libopenblas.so.0 either. ++libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++libblas64.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects ++liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++liblapack64.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++clean:: ++ rm -f libblas.so.3 liblapack.so.3 libblas64.so.3 liblapack64.so.3 diff --git a/rules b/rules new file mode 100755 index 00000000..fd6a00cd --- /dev/null +++ b/rules @@ -0,0 +1,238 @@ +#!/usr/bin/make -f + +# For Ubuntu, see #961725 +export DEB_LDFLAGS_MAINT_STRIP := "-Wl,-Bsymbolic-functions" + +include /usr/share/dpkg/buildflags.mk +include /usr/share/dpkg/pkg-info.mk +SOVER := 0 +SRCS := $(filter-out debian $(FLAVORS), $(wildcard ./*)) + +MAKE_OPTIONS := NO_LAPACKE=1 NO_AFFINITY=1 NO_WARMUP=1 CFLAGS="$(CPPFLAGS) $(CFLAGS)" FFLAGS="$(FFLAGS)" + +# Avoid having -O2 automatically added (especially for DEB_BUILD_OPTIONS=noopt) +MAKE_OPTIONS += COMMON_OPT= + +# Handle requested number of parallel jobs +# NB: by default, the OpenBLAS build system uses as many jobs as there are logical +# cores, so explicitly disable this if parallel build is not requested. +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKE_OPTIONS += MAKE_NB_JOBS=$(NUMJOBS) +else + MAKE_OPTIONS += NO_PARALLEL_MAKE=1 +endif + +# Build generic package with hardcoded max number of threads of 128 +GENERIC_OPTIONS := NUM_THREADS=128 + +# Architectures with dynamic arch selection +# TARGET=GENERIC is needed to avoid FTBFS when CPU detection fails (see #923607) +ENABLE_DYNAMIC_ARCHS := amd64 arm64 i386 ppc64el s390x loong64 riscv64 +ifneq (,$(filter $(DEB_HOST_ARCH),$(ENABLE_DYNAMIC_ARCHS))) + GENERIC_OPTIONS += DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 TARGET=GENERIC +endif + +# For other archs, there is no dynamic arch selection. To avoid selecting a +# target based on the buildd hardware, we enforce a generic-enough target. + +# We cannot use the ARMv7 profile on armhf, because it requires a 32-register FP unit. +# See kernel/arm/KERNEL.ARMv7: it loads some *_vfpv3.S files, which use 32 registers. +# Also, it FTBFS if GCC flag -mvfpv3 is removed (see arm-gcc-flags.patch), because GCC +# refuses asm files with 32 FP registers in that case. +# Issue discussed in https://github.com/OpenMathLib/OpenBLAS/issues/388 +# See also debian/patches/arm-gcc-flags.patch which is related. +TARGET_OPTION_armhf = TARGET=ARMV6 +# We do not use DYNAMIC_ARCH selection on powerpc and ppc64 because it only +# works for POWER6 and above. +# For a correspondence between CPUs and ISAs, see: +# https://wiki.raptorcs.com/wiki/Power_ISA +# NB: In OpenBLAS, the POWER3 and POWER4 kernels are actually the same as POWER5. +# NB2: TARGET=POWER4 leads to a FTBFS on powerpc (with OpenBLAS 0.3.16) +TARGET_OPTION_powerpc = TARGET=PPCG4 +TARGET_OPTION_ppc64 = TARGET=POWER4 +# We do not use DYNAMIC_ARCH selection on mips64el because it only works for +# Loongson3R3/3R4 +TARGET_OPTION_mips64el = TARGET=MIPS64_GENERIC +TARGET_OPTION_sparc64 = TARGET=SPARC +GENERIC_OPTIONS += $(TARGET_OPTION_$(DEB_HOST_ARCH)) + + +ifeq (,$(filter custom,$(DEB_BUILD_OPTIONS))) + # Generic package + MAKE_OPTIONS += $(GENERIC_OPTIONS) +else + # Custom package: leave the arch detection to OpenBLAS, and optimize for the current CPU + export DEB_CFLAGS_MAINT_APPEND := -march=native -mtune=native + export DEB_FFLAGS_MAINT_APPEND := -march=native -mtune=native +endif + +# Flavors: 64-bit array indexing is invalid for 32-bit machines. +ifeq (64,$(DEB_HOST_ARCH_BITS)) + FLAVORS = $(SOVER)-pthread $(SOVER)-openmp $(SOVER)-serial 64-$(SOVER)-pthread 64-$(SOVER)-openmp 64-$(SOVER)-serial +else + FLAVORS = $(SOVER)-pthread $(SOVER)-openmp $(SOVER)-serial +endif +# FLAVORS = # XXX: Define your target configurations here if you are going to build customized packages +FLAGS_0-pthread := USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT=-frecursive +FLAGS_0-openmp := USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT='-frecursive -fopenmp' +FLAGS_0-serial := USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT=-frecursive +FLAGS_64-0-pthread := USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fdefault-integer-8' +FLAGS_64-0-openmp := USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fopenmp -fdefault-integer-8' +FLAGS_64-0-serial := USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fdefault-integer-8' + +# Priority values in the Update-Alternatives mechanism. +# O,P,S stands for openmp, pthread, serial respectively +UAPRI_O = 95 +UAPRI_P = 100 +UAPRI_S = 90 + + +%: + dh $@ + +override_dh_auto_configure: $(addprefix config_, $(FLAVORS)) + : + +config_%: + # shared object packages + mkdir $*; cp -r $(SRCS) $*/; + for i in install postinst prerm shlibs; do \ + if test -z "$$(echo $* | grep 64)"; then \ + cp debian/libopenblas$(SOVER)-XXX.$$i debian/libopenblas$*.$$i; \ + else \ + cp debian/libopenblas64-$(SOVER)-XXX.$$i debian/libopenblas$*.$$i; \ + fi; \ + sed -i -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@FLAVOR@/$*/g" \ + debian/libopenblas$*.$$i; \ + if test -n "$$(echo $* | grep pthread)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_P)/g" debian/libopenblas$*.$$i; \ + elif test -n "$$(echo $* | grep openmp)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_O)/g" debian/libopenblas$*.$$i; \ + else \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_S)/g" debian/libopenblas$*.$$i; \ + fi; \ + done; + # devel packages + for i in install links postinst prerm dirs; do \ + if test -z "$$(echo $* | grep 64)"; then \ + cp debian/libopenblas-XXX-dev.$$i debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + else \ + cp debian/libopenblas64-XXX-dev.$$i debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + fi; \ + sed -i -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@FLAVOR@/$*/g" \ + debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + if test -n "$$(echo $* | grep pthread)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_P)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + elif test -n "$$(echo $* | grep openmp)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_O)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + else \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_S)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + fi; \ + done; + +override_dh_auto_build: + for target in $(addprefix build_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done + +build_0-pthread: + $(MAKE) -C 0-pthread libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-pthread) + $(MAKE) -C 0-pthread/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-pthread) +build_64-0-pthread: + $(MAKE) -C 64-0-pthread libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) + $(MAKE) -C 64-0-pthread/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) +build_0-openmp: + $(MAKE) -C 0-openmp libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-openmp) + $(MAKE) -C 0-openmp/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-openmp) +build_64-0-openmp: + $(MAKE) -C 64-0-openmp libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) + $(MAKE) -C 64-0-openmp/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) +build_0-serial: + $(MAKE) -C 0-serial libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-serial) + $(MAKE) -C 0-serial/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-serial) +build_64-0-serial: + $(MAKE) -C 64-0-serial libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-serial) + $(MAKE) -C 64-0-serial/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-serial) +# XXX: why doesn't this work?? +#build_%: +# $(MAKE) -C $* $(MAKE_OPTIONS) $(FLAGS_$*) +# $(MAKE) -C $*/interface $(MAKE_OPTIONS) $(FLAGS_$*) + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + for target in $(addprefix test_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done +endif + +test_0-pthread: + $(MAKE) -C 0-pthread tests $(MAKE_OPTIONS) $(FLAGS_0-pthread) +test_64-0-pthread: + $(MAKE) -C 64-0-pthread tests $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) +test_0-openmp: + $(MAKE) -C 0-openmp tests $(MAKE_OPTIONS) $(FLAGS_0-openmp) +test_64-0-openmp: + $(MAKE) -C 64-0-openmp tests $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) +test_0-serial: + $(MAKE) -C 0-serial tests $(MAKE_OPTIONS) $(FLAGS_0-serial) +test_64-0-serial: + $(MAKE) -C 64-0-serial tests $(MAKE_OPTIONS) $(FLAGS_64-0-serial) +# XXX: why cannot this work? +#test_%: +# $(MAKE) -C $* test $(MAKE_OPTIONS) $(FLAGS_$(*)) + +override_dh_auto_install: + for target in $(addprefix install_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done + # change the inclusion for the 64-bit variant + find debian/tmp -type f -path '*openblas64*' -exec sed -i -e 's/openblas_config.h/openblas64_config.h/g' '{}' \; + +install_%: + $(MAKE) -C $* install $(MAKE_OPTIONS) $(FLAGS_$*) \ + DESTDIR=../debian/tmp/ PREFIX=/usr \ + OPENBLAS_INCLUDE_DIR=/usr/include/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/ \ + OPENBLAS_LIBRARY_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/ + # Fix the content of openblas64.pc for 64-bit indexing + if test -n "$$(echo $* | grep 64)"; then \ + sed -i -e "s/^libsuffix=.*$$/libsuffix=64/" \ + -e "s/Name: openblas$$/Name: openblas64/" \ + debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/pkgconfig/openblas64.pc; \ + fi + # Add blas-openblas.pc and lapack-openblas.pc + for f in blas-openblas lapack-openblas; do \ + sed -e "s/@DEB_VERSION_UPSTREAM@/$(DEB_VERSION_UPSTREAM)/g" \ + -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@INDEXING@/$$(echo $* | grep -o 64)/g" \ + < debian/$${f}.pc.in \ + > debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/pkgconfig/$${f}.pc; \ + done + +override_dh_auto_clean: + $(MAKE) $(MAKE_OPTIONS) clean + +execute_after_dh_clean: + for flavour in openmp pthread serial; do \ + rm -rf 0-$${flavour} 64-0-$${flavour}; \ + for i in install postinst prerm shlibs; do \ + rm -f debian/libopenblas-$${flavour}-dev.$$i \ + debian/libopenblas64-$${flavour}-dev.$$i \ + debian/libopenblas0-$${flavour}.$$i \ + debian/libopenblas64-0-$${flavour}.$$i; \ + done; \ + for i in links dirs; do \ + rm -f debian/libopenblas-$${flavour}-dev.$$i \ + debian/libopenblas64-$${flavour}-dev.$$i; \ + done; \ + done + +# Needed to avoid a dependency on metapackage libopenblas0 from +# flavour-specific packages, since lib{blas,lapack}.so.3 is dynamically linked +# against libopenblas.so.0 (see #966607) +override_dh_shlibdeps: + dh_shlibdeps -plibopenblas0-pthread -plibopenblas0-openmp -plibopenblas0-serial -- -xlibopenblas0 + dh_shlibdeps -plibopenblas64-0-pthread -plibopenblas64-0-openmp -plibopenblas64-0-serial -- -xlibopenblas64-0 + dh_shlibdeps --remaining-packages -a diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 00000000..b30c5448 --- /dev/null +++ b/tests/control @@ -0,0 +1,23 @@ +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-pthread-dev, gfortran + +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-openmp-dev, gfortran + +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-serial-dev, gfortran + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-pthread-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-openmp-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-serial-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev diff --git a/tests/upstream-testsuite b/tests/upstream-testsuite new file mode 100644 index 00000000..e698d3dd --- /dev/null +++ b/tests/upstream-testsuite @@ -0,0 +1,24 @@ +#!/bin/sh +# Execute upstream's testsuite against the installed binaries. + +set -e + +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Temporary directory \$AUTOPKGTEST_TMP is not set. Aborting" >&2 + exit 1 +fi + +# Tell us which flavor is being used +update-alternatives --get-selections | grep '^libopenblas.so' + +# Work from $AUTOPKGTEST_TMP as we need to treat the original source as read-only +cp -a test Makefile* ?_check cpuid* ctest* getarch* param.h "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP"/test + +# Make tests use the installed binaries instead of using the build result path +sed -i -e 's,\.\./\$(LIBNAME),,g' Makefile +sed -i -e '3i CEXTRALIB += -lopenblas' Makefile + +# Execute tests +make diff --git a/tests/upstream-testsuite64 b/tests/upstream-testsuite64 new file mode 100644 index 00000000..37bb76b6 --- /dev/null +++ b/tests/upstream-testsuite64 @@ -0,0 +1,29 @@ +#!/bin/sh +# Execute upstream's testsuite against the installed binaries. + +set -e + +if [ $(dpkg-architecture -qDEB_HOST_ARCH_BITS) != 64 ]; then + echo "$(basename $0): test only supported on 64bit" + exit 77 +fi + +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Temporary directory \$AUTOPKGTEST_TMP is not set. Aborting" >&2 + exit 1 +fi + +# Tell us which flavor is being used +update-alternatives --get-selections | grep '^libopenblas64.so' + +# Work from $AUTOPKGTEST_TMP as we need to treat the original source as read-only +cp -a test Makefile* ?_check cpuid* ctest* getarch* param.h "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP"/test + +# Make tests use the installed binaries instead of using the build result path +sed -i -e 's,\.\./\$(LIBNAME),,g' Makefile +sed -i -e '3i CEXTRALIB += -lopenblas64' Makefile + +# Execute tests +make FCOMMON_OPT='-frecursive -fdefault-integer-8' diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 00000000..8d33dd61 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,7 @@ +Bug-Database: https://github.com/OpenMathLib/OpenBLAS/issues +Bug-Submit: https://github.com/OpenMathLib/OpenBLAS/issues/new +Changelog: https://www.openblas.net/Changelog.txt +Donation: https://github.com/OpenMathLib/OpenBLAS/wiki/Donation +Repository: https://github.com/OpenMathLib/OpenBLAS.git +Repository-Browse: https://github.com/OpenMathLib/OpenBLAS/ +Security-Contact: https://github.com/OpenMathLib/OpenBLAS/tree/HEAD/SECURITY.md diff --git a/watch b/watch new file mode 100644 index 00000000..bc67c224 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +opts=dversionmangle=s/\+ds$//,repacksuffix=+ds,filenamemangle=s/.+\/archive\/refs\/tags\/v(.+)\.tar\.gz$/openblas_$1.orig.tar.gz/ \ +https://github.com/OpenMathLib/OpenBLAS/tags .*/archive/refs/tags/v(\d[\d\.]+)\.tar\.gz From f3aa315fa32da4767e8500ad5cbd00b36cf7d391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 2/9] Use flags suitable for armhf port when TARGET=ARMV6 Forwarded: not-needed Last-Update: 2015-04-29 See debian/rules for an explanation of why we can't use TARGET=ARMV7 on armhf. Also, if we don't explicitly set the -march and -mfpu flags, the resulting static libraries crash with SIGILL (reason not yet elucidated). Last-Update: 2015-04-29 Gbp-Pq: Name arm-gcc-flags.patch --- Makefile.arm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.arm b/Makefile.arm index a27b58e8..2b589faf 100644 --- a/Makefile.arm +++ b/Makefile.arm @@ -9,8 +9,8 @@ endif endif ifeq ($(CORE), ARMV6) -CCOMMON_OPT += -mfpu=vfp -FCOMMON_OPT += -mfpu=vfp +CCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a +FCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a endif ifdef HAVE_NEON From c525e37cc5b25eaf7a30d7de8250c47108fb9791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 3/9] Remove warning about OpenMP Forwarded: no Last-Update: 2014-02-17 This warning is annoying when the library is built with pthreads. See #684344 Last-Update: 2014-02-17 Gbp-Pq: Name remove-openmp-warning.patch --- driver/others/blas_server.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/driver/others/blas_server.c b/driver/others/blas_server.c index 765511d8..b0409f09 100644 --- a/driver/others/blas_server.c +++ b/driver/others/blas_server.c @@ -811,16 +811,6 @@ if (openblas_threads_callback_) { } -#ifdef __ELF__ - if (omp_in_parallel && (num > 1)) { - if (omp_in_parallel() > 0) { - fprintf(stderr, - "OpenBLAS Warning : Detect OpenMP Loop and this application may hang. " - "Please rebuild the library with USE_OPENMP=1 option.\n"); - } - } -#endif - if ((num > 1) && queue -> next) exec_blas_async(1, queue -> next); #ifdef TIMING_DEBUG From 0fa141ebcd9d7f03465d25d7b0c2c9046854ec76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 4/9] Adapt build system for the absence of lapack-netlib/ and relapack directories. Forwarded: not-needed Last-Update: 2017-07-27 Instead use the binary provided by package liblapack-pic, stripping from it the symbols that are overridden by OpenBLAS. Last-Update: 2017-07-27 Gbp-Pq: Name no-embedded-lapack.patch --- Makefile | 100 +++++---------------------------------------- Makefile.install | 9 ---- Makefile.system | 2 - interface/Makefile | 7 ++++ 4 files changed, 17 insertions(+), 101 deletions(-) diff --git a/Makefile b/Makefile index 78f82dea..5fd0f919 100644 --- a/Makefile +++ b/Makefile @@ -286,95 +286,20 @@ hpl_p : fi; \ done -netlib : lapack_prebuild -ifneq ($(NO_LAPACK), 1) - @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib - @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib -endif -ifneq ($(NO_LAPACKE), 1) - @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib -endif - -ifeq ($(NO_LAPACK), 1) -re_lapack : +netlib : lapack-netlib +lapack-netlib: + mkdir lapack-netlib +ifeq (,$(filter libopenblas64%,$(LIBNAME))) + cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack_pic.a else -re_lapack : - @$(MAKE) -C relapack + cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack64_pic.a endif + make -C interface delete-duplicate-lapack-objects + ar -ru $(LIBNAME) `LC_ALL=C ls lapack-netlib/*` -prof_lapack : lapack_prebuild - @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof - -lapack_prebuild : -ifeq ($(NO_LAPACK), $(filter 0,$(NO_LAPACK))) - -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc -ifeq ($(F_COMPILER), GFORTRAN) - -@echo "override FFLAGS = $(LAPACK_FFLAGS) -fno-tree-vectorize" >> $(NETLIB_LAPACK_DIR)/make.inc -else - -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc -endif - -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc -ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGGFORTRAN1) - -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc -else -ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGIBM1) - -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc -else - -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -endif - -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "TMGLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKELIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc -ifeq ($(F_COMPILER), GFORTRAN) - -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc -ifdef SMP -ifeq ($(OSNAME), WINNT) - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc -else ifeq ($(OSNAME), Haiku) - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc -else - -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -else - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -else - -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -ifeq ($(BUILD_LAPACK_DEPRECATED), 1) - -@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -ifeq ($(BUILD_SINGLE), 1) - -@echo "BUILD_SINGLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -ifeq ($(BUILD_DOUBLE), 1) - -@echo "BUILD_DOUBLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -ifeq ($(BUILD_COMPLEX), 1) - -@echo "BUILD_COMPLEX = 1" >> $(NETLIB_LAPACK_DIR)/make.inc -endif -ifeq ($(BUILD_COMPLEX16), 1) - -@echo "BUILD_COMPLEX16 = 1" >> $(NETLIB_LAPACK_DIR)/make.inc -endif - -@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc - -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc -endif +clean:: + rm -rf lapack-netlib large.tgz : ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) @@ -442,10 +367,5 @@ ifeq ($(OSNAME), Darwin) endif @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib @rm -f cblas.tmp cblas.tmp2 - @touch $(NETLIB_LAPACK_DIR)/make.inc - @$(MAKE) -C $(NETLIB_LAPACK_DIR) clean - @rm -f $(NETLIB_LAPACK_DIR)/make.inc $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling.h - @$(MAKE) -C relapack clean @rm -f *.grd Makefile.conf_last config_last.h - @(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out testing_results.txt) @echo Done. diff --git a/Makefile.install b/Makefile.install index 6892efa5..9b38f276 100644 --- a/Makefile.install +++ b/Makefile.install @@ -89,15 +89,6 @@ endif endif ifneq ($(OSNAME), AIX) -ifneq ($(NO_LAPACKE), 1) - @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) - @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapack.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapack.h" - @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h" - @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_config.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h" - @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_mangling_with_flags.h.in "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h" - @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_utils.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h" -endif - #for install static library ifneq ($(NO_STATIC),1) @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) diff --git a/Makefile.system b/Makefile.system index b065f9a9..a7d9b197 100644 --- a/Makefile.system +++ b/Makefile.system @@ -44,8 +44,6 @@ else ifeq ($(ARCH), zarch) override ARCH=zarch endif -NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib - # Default C compiler # - Only set if not specified on the command line or inherited from the environment. # - CC is an implicit variable so neither '?=' or 'ifndef' can be used. diff --git a/interface/Makefile b/interface/Makefile index 97439d87..3b6831bd 100644 --- a/interface/Makefile +++ b/interface/Makefile @@ -2433,3 +2433,10 @@ cblas_cgemm_batch.$(SUFFIX) cblas_cgemm_batch.$(PSUFFIX) : gemm_batch.c ../param cblas_zgemm_batch.$(SUFFIX) cblas_zgemm_batch.$(PSUFFIX) : gemm_batch.c ../param.h $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) + +# The list of symbols to be removed can be seen in the diff between LAPACK's +# original SRC/Makefile and the version of that same file that is included in +# OpenBLAS (unfiltered) tarball +delete-duplicate-lapack-objects: + if test -d ../lapack-netlib; then cd ../lapack-netlib \ + && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi From aa4233ef0cab0a49290abdd0f93b4a29cf7925a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 5/9] Create shared libraries lib{blas,lapack}.so.3 Forwarded: not-needed Last-Update: 2020-07-31 * It is done so that duplicate code with libopenblas.so.0 is kept as low as possible. Only the symbols from the external BLAS/LAPACK API are incorporated in the shared libraries. The rest is obtained by dynamic linking against libopenblas.so.0. This also gives access to some extra OpenBLAS symbols, in order to differentiate it at runtime from other BLAS implementations (see #960728). The -rpath,'$ORIGIN' is there to ensure that the OpenBLAS flavour used is the one selected in the lib{blas,lapack}.so.3 alternative, and not the one selected in the libopenblas.so.0 alternative. * See also override_dh_shlibdeps in debian/rules * Also order the files when calling `ar' or $(CC), to make the build reproducible (see #824639) * Also link the shared blas and lapack against gomp (see #945791) Last-Update: 2020-07-31 Gbp-Pq: Name shared-blas-lapack.patch --- interface/Makefile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/interface/Makefile b/interface/Makefile index 3b6831bd..b6684c8f 100644 --- a/interface/Makefile +++ b/interface/Makefile @@ -2440,3 +2440,28 @@ cblas_zgemm_batch.$(SUFFIX) cblas_zgemm_batch.$(PSUFFIX) : gemm_batch.c ../param delete-duplicate-lapack-objects: if test -d ../lapack-netlib; then cd ../lapack-netlib \ && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi + +shared-blas-lapack: libblas.so.3 liblapack.so.3 +shared-blas64-lapack64: libblas64.so.3 liblapack64.so.3 +ifneq (0,$(USE_OPENMP)) +SH_BLAS_LAPACK_OMP=-fopenmp -lgomp +endif + +# The list of prerequisite is created by comparing with NETLIB BLAS public API. +# The symbol cblas_xerbla is missing here, but it does not seem to be provided +# by libopenblas.so.0 either. +libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o + $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' + +libblas64.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o + $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' + +# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects +liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o + $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' + +liblapack64.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o + $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' + +clean:: + rm -f libblas.so.3 liblapack.so.3 libblas64.so.3 liblapack64.so.3 From b1841f2050b6e2b9c8a141264eb3153ed1258847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 6/9] MATGEN symbols are not included in Debian binary Forwarded: not-needed Last-Update: 2016-03-24 The libopenblas binaries do not include libmatgen code, so don't mark them as exported and don't test for their presence (in linktest). Last-Update: 2016-03-24 Gbp-Pq: Name matgen-symbols-not-included.patch --- exports/gensymbol | 74 ----------------------------------------------- 1 file changed, 74 deletions(-) diff --git a/exports/gensymbol b/exports/gensymbol index 28dd883f..957d6de0 100755 --- a/exports/gensymbol +++ b/exports/gensymbol @@ -587,24 +587,6 @@ lapackobjs2c="$lapackobjs2c cggsvp3 cgsvj0 cgsvj1 - clagge - claghe - clagsy - clahilb - clakf2 - clarge - clarnd - claror - clarot - clatm1 - clatm2 - clatm3 - clatm5 - clatm6 - clatme - clatmr - clatms - clatmt cpotrf2 csbmv cspr2 @@ -622,25 +604,6 @@ lapackobjs2d="$lapackobjs2d dggsvd3 dggsvp3 dladiv2 - dlagge - dlagsy - dlahilb - dlakf2 - dlaran - dlarge - dlarnd - dlaror - dlarot - dlatm1 - dlatm2 - dlatm3 - dlatm5 - dlatm6 - dlatm7 - dlatme - dlatmr - dlatms - dlatmt dorm22 dpotrf2 dsecnd @@ -657,25 +620,6 @@ lapackobjs2s="$lapackobjs2s sggsvd3 sggsvp3 sladiv2 - slagge - slagsy - slahilb - slakf2 - slaran - slarge - slarnd - slaror - slarot - slatm1 - slatm2 - slatm3 - slatm5 - slatm6 - slatm7 - slatme - slatmr - slatms - slatmt sorm22 spotrf2 " @@ -692,24 +636,6 @@ lapackobjs2z="$lapackobjs2z zggsvp3 zgsvj0 zgsvj1 - zlagge - zlaghe - zlagsy - zlahilb - zlakf2 - zlarge - zlarnd - zlaror - zlarot - zlatm1 - zlatm2 - zlatm3 - zlatm5 - zlatm6 - zlatme - zlatmr - zlatms - zlatmt zpotrf2 zsbmv zspr2 From 9717d4ab0bc9c564fc1df73b9b291e4b07a72ac6 Mon Sep 17 00:00:00 2001 From: Mo Zhou Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 7/9] No longer check for symbols deprecated in LAPACK 3.10.1 Bug-Debian: https://bugs.debian.org/1011386 Forwarded: no Last-Update: 2022-08-14 Last-Update: 2022-08-14 Gbp-Pq: Name combssq-deprecate.patch --- exports/gensymbol | 2 -- 1 file changed, 2 deletions(-) diff --git a/exports/gensymbol b/exports/gensymbol index 957d6de0..f3f7b9fc 100755 --- a/exports/gensymbol +++ b/exports/gensymbol @@ -743,12 +743,10 @@ lapackobjs2c="$lapackobjs2c cungtsqr " lapackobjs2d="$lapackobjs2d - dcombssq dgesvdq dorgtsqr " lapackobjs2s="$lapackobjs2s - scombssq sgesvdq sorgtsqr " From 0ad09df7b30a311e7e733480c73816fec4b5150f Mon Sep 17 00:00:00 2001 From: Debian Science Team Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 8/9] Fix FTBFS on mips64el with GCC 14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Origin: upstream, https://github.com/OpenMathLib/OpenBLAS/pull/4864 Bug: https://github.com/OpenMathLib/OpenBLAS/issues/4862 Reviewed-by: Sébastien Villemot Last-Update: 2024-08-13 Last-Update: 2024-08-13 Gbp-Pq: Name gcc14-mips64el.patch --- lapack/potrf/potrf_L_parallel.c | 2 +- lapack/potrf/potrf_U_parallel.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lapack/potrf/potrf_L_parallel.c b/lapack/potrf/potrf_L_parallel.c index 7d6bcd77..6a2e4d43 100644 --- a/lapack/potrf/potrf_L_parallel.c +++ b/lapack/potrf/potrf_L_parallel.c @@ -121,7 +121,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, HERK_THREAD_LN(&newarg, NULL, NULL, sa, sb, 0); #else syrk_thread(mode | BLAS_TRANSA_N | BLAS_TRANSB_T | BLAS_UPLO, - &newarg, NULL, NULL, (int (*)(void))HERK_LN, sa, sb, args -> nthreads); + &newarg, NULL, NULL, (int (*)(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG))HERK_LN, sa, sb, args -> nthreads); #endif } } diff --git a/lapack/potrf/potrf_U_parallel.c b/lapack/potrf/potrf_U_parallel.c index 1f142727..de7d3337 100644 --- a/lapack/potrf/potrf_U_parallel.c +++ b/lapack/potrf/potrf_U_parallel.c @@ -121,7 +121,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, HERK_THREAD_UC(&newarg, NULL, NULL, sa, sb, 0); #else syrk_thread(mode | BLAS_TRANSA_N | BLAS_TRANSB_T, - &newarg, NULL, NULL, (int (*)(void))HERK_UC, sa, sb, args -> nthreads); + &newarg, NULL, NULL, (int (*)(blas_arg_t *, BLASLONG *, BLASLONG *, FLOAT *, FLOAT *, BLASLONG))HERK_UC, sa, sb, args -> nthreads); #endif } } From 9d3b3716a9fecd1f6b9c6d615a5ac54fe0241109 Mon Sep 17 00:00:00 2001 From: Dandan Zhang Date: Fri, 8 Nov 2024 14:59:11 +0100 Subject: [PATCH 9/9] Fixed the undefined reference to blas_set_parameter Applied-Upstream: <0.3.29>, Last-Update: 2024-11-01 Gbp-Pq: Name openblas-Fixed-undefined-reference-to-blas_set_parameter.patc --- driver/others/blas_server_omp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/driver/others/blas_server_omp.c b/driver/others/blas_server_omp.c index 06862cec..4341389d 100644 --- a/driver/others/blas_server_omp.c +++ b/driver/others/blas_server_omp.c @@ -114,9 +114,11 @@ void goto_set_num_threads(int num_threads) { adjust_thread_buffers(); #if defined(ARCH_MIPS64) || defined(ARCH_LOONGARCH64) +#ifndef DYNAMIC_ARCH //set parameters for different number of threads. blas_set_parameter(); #endif +#endif } void openblas_set_num_threads(int num_threads) {