openblas: fix prereqs / make race (#35395)

Fix a race in the makefile where the shared lib was built before the
object files were available.

See https://github.com/xianyi/OpenBLAS/issues/3899
This commit is contained in:
Harmen Stoppels 2023-02-18 21:27:34 +01:00 committed by GitHub
parent 86320eb569
commit 011c28a538
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,14 @@
diff --git a/Makefile b/Makefile
index 967ab1bb6..98666e853 100644
--- a/Makefile
+++ b/Makefile
@@ -42,6 +42,9 @@ SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cp
.PHONY : all libs netlib $(RELA) test ctest shared install
.NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test
+shared: libs netlib $(RELA)
+tests: libs netlib $(RELA) shared
+
all :: libs netlib $(RELA) tests shared
@echo
@echo " OpenBLAS build complete. ($(LIB_COMPONENTS))"

View File

@ -182,6 +182,10 @@ class Openblas(MakefilePackage):
when="@0.3.21 %gcc@:9",
)
# Generic fix (https://github.com/xianyi/OpenBLAS/pull/3902) so we don't
# have to build tests
patch("fix-shared-tests-prereqs.patch", when="@0.2.20:0.3.21")
# See https://github.com/spack/spack/issues/19932#issuecomment-733452619
# Notice: fixed on Amazon Linux GCC 7.3.1 (which is an unofficial version
# as GCC only has major.minor releases. But the bound :7.3.0 doesn't hurt)