openblas: add patches to build with clang (#39138)
This commit is contained in:
parent
aa350a4ed1
commit
3f063153f0
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/ctest/Makefile b/ctest/Makefile
|
||||||
|
index 0fb2450d28..9e85d23b96 100644
|
||||||
|
--- a/ctest/Makefile
|
||||||
|
+++ b/ctest/Makefile
|
||||||
|
@@ -208,7 +208,7 @@ FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
||||||
|
ifeq ($(USE_OPENMP), 1)
|
||||||
|
ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
ifeq ($(C_COMPILER), CLANG)
|
||||||
|
-CEXTRALIB = -lomp
|
||||||
|
+CEXTRALIB += -lomp
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(F_COMPILER), NAG)
|
||||||
|
diff --git a/test/Makefile b/test/Makefile
|
||||||
|
index 923f1537c2..46a7b11583 100644
|
||||||
|
--- a/test/Makefile
|
||||||
|
+++ b/test/Makefile
|
||||||
|
@@ -265,7 +265,7 @@ FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
||||||
|
ifeq ($(USE_OPENMP), 1)
|
||||||
|
ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
ifeq ($(C_COMPILER), CLANG)
|
||||||
|
-CEXTRALIB = -lomp
|
||||||
|
+CEXTRALIB += -lomp
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(F_COMPILER), NAG)
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/utest/Makefile b/utest/Makefile
|
||||||
|
index f99035440c..eab9046574 100644
|
||||||
|
--- a/utest/Makefile
|
||||||
|
+++ b/utest/Makefile
|
||||||
|
@@ -29,8 +29,11 @@ ifeq ($(OSNAME), $(filter $(OSNAME),Linux CYGWIN_NT))
|
||||||
|
ifneq ($(USE_OPENMP), 1)
|
||||||
|
OBJS += test_fork.o
|
||||||
|
endif
|
||||||
|
+# LLVM's libomp throws an assertion when running the post fork test
|
||||||
|
+ifneq ($(C_COMPILER), CLANG)
|
||||||
|
OBJS += test_post_fork.o
|
||||||
|
endif
|
||||||
|
+endif
|
@ -195,6 +195,17 @@ class Openblas(CMakePackage, MakefilePackage):
|
|||||||
when="@0.3.21 %gcc@:9",
|
when="@0.3.21 %gcc@:9",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Some installations of clang and libomp have non-standard locations for
|
||||||
|
# libomp. OpenBLAS adds the correct linker flags but overwrites the
|
||||||
|
# variables in a couple places, causing link-time failures.
|
||||||
|
patch("openblas_append_lflags.patch", when="@:0.3.23 threads=openmp")
|
||||||
|
|
||||||
|
# Some builds of libomp on certain systems cause test failures related to
|
||||||
|
# forking, so disable the specific test that's failing. This is currently
|
||||||
|
# an open issue upstream:
|
||||||
|
# https://github.com/llvm/llvm-project/issues/63908
|
||||||
|
patch("openblas_libomp_fork.patch", when="%clang@15:")
|
||||||
|
|
||||||
# Fix build on A64FX for OpenBLAS v0.3.24
|
# Fix build on A64FX for OpenBLAS v0.3.24
|
||||||
patch(
|
patch(
|
||||||
"https://github.com/OpenMathLib/OpenBLAS/commit/90231bfc4e4afc51f67c248328fbef0cecdbd2c2.patch?full_index=1",
|
"https://github.com/OpenMathLib/OpenBLAS/commit/90231bfc4e4afc51f67c248328fbef0cecdbd2c2.patch?full_index=1",
|
||||||
|
Loading…
Reference in New Issue
Block a user