whizard: Fix parallel build race condition (#37890)

This commit is contained in:
Thomas Madlener 2023-05-28 09:55:52 +02:00 committed by GitHub
parent 1d88f690a4
commit 80ae73119d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 7 deletions

View File

@ -66,6 +66,19 @@ class Whizard(AutotoolsPackage):
depends_on("texlive", when="+latex")
depends_on("zlib")
# Fix for https://github.com/key4hep/key4hep-spack/issues/71
# NOTE: This will become obsolete in a future release of whizard, so once
# that happens, this needs to be adapted with a when clause
patch("parallel_build_fix.patch", when="@3:")
patch("parallel_build_fix_2.8.patch", when="@2.8")
# Make sure that the patch actually has an effect by running autoreconf
force_autoreconf = True
# Which then requires the following build dependencies
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("pkgconf", type="build")
conflicts(
"%gcc@:5.0",
msg="gfortran needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html",
@ -80,13 +93,6 @@ class Whizard(AutotoolsPackage):
msg="The fortran compiler needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html",
)
@property
def parallel(self):
# Trying to build in parallel leads to a race condition at the build step.
# See: https://github.com/key4hep/key4hep-spack/issues/71
# On 3.1.0 it doesn't seem to happen
return self.spec.version > Version("3.0.3")
def setup_build_environment(self, env):
# whizard uses the compiler during runtime,
# and seems incompatible with

View File

@ -0,0 +1,14 @@
diff --git a/circe2/src/Makefile.am b/circe2/src/Makefile.am
index 2b14dbec1..ad0a90fba 100644
--- a/circe2/src/Makefile.am
+++ b/circe2/src/Makefile.am
@@ -249,6 +249,9 @@ Makefile.depend_ocaml: $(CIRCE2_SRC) $(CIRCE2TOOL_SRC)
echo parser.cmx: parser.cmi syntax.cmi syntax.cmx >>$@
echo events_lexer.cmo: events_lexer.cmi >>$@
echo events_lexer.cmx: events_lexer.cmi >>$@
+ echo bigarray_compat.cmi: bigarray_compat.mli >>$@
+ echo bigarray_compat.cmo: bigarray_compat.cmi >>$@
+ echo bigarray_compat.cmx: bigarray_compat.cmi >>$@
DISTCLEANFILES += Makefile.depend_ocaml

View File

@ -0,0 +1,14 @@
diff --git a/circe2/src/Makefile.am b/circe2/src/Makefile.am
index 9c9a3232..22de723b 100644
--- a/circe2/src/Makefile.am
+++ b/circe2/src/Makefile.am
@@ -237,5 +237,8 @@ Makefile.depend_ocaml: $(CIRCE2_SRC) $(CIRCE2TOOL_SRC)
echo lexer.cmx: lexer.cmi parser.cmx >>$@
echo parser.cmo: parser.cmi syntax.cmi >>$@
echo parser.cmx: parser.cmi syntax.cmi syntax.cmx >>$@
+ echo bigarray_compat.cmi: bigarray_compat.mli >> $@
+ echo bigarray_compat.cmo: bigarray_compat.cmi >> $@
+ echo bigarray_compat.cmx: bigarray_compat.cmi >> $@
DISTCLEANFILES += Makefile.depend_ocaml