From 9756354998c7892d070ac799a99303f1f7dd7028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Tue, 19 Mar 2024 09:29:44 +0100 Subject: [PATCH] mgard: don't restrict protobuf version more than necessary (#43172) * mgard: don't restrict protobuf version more than necessary successfully built: mgard@2022-11-18 ^protobuf@3.{4,21,25} mgard@2023-01-10 ^protobuf@3.{4,25} mgard@2023-03-31 ^protobuf@3.{4,25} compile failures: mgard@2022-11-18 ^protobuf@3.3 mgard@2023-01-10 ^protobuf@3.3 mgard@2023-03-31 ^protobuf@3.3 * mgard: add conflicts to address CI errors * mgard: conflict between cuda and abseil@20240116.1 compiling mgard+cuda with gcc@12.3.0 and nvcc from cuda@12.3.0 against protobuf pulling in abseil-cpp@20240116.1 results in the errors reported here: https://github.com/abseil/abseil-cpp/issues/1629 --- var/spack/repos/builtin/packages/mgard/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index 4ba1810a4b..948ccabf0b 100644 --- a/var/spack/repos/builtin/packages/mgard/package.py +++ b/var/spack/repos/builtin/packages/mgard/package.py @@ -49,7 +49,7 @@ class Mgard(CMakePackage, CudaPackage): depends_on("zlib-api") depends_on("pkgconfig", type=("build",), when="@2022-11-18:") depends_on("zstd") - depends_on("protobuf@:3.21.12", when="@2022-11-18:") + depends_on("protobuf@3.4:", when="@2022-11-18:") depends_on("libarchive", when="@2021-11-12:") depends_on("tclap", when="@2021-11-12") depends_on("yaml-cpp", when="@2021-11-12:") @@ -64,6 +64,10 @@ class Mgard(CMakePackage, CudaPackage): "~cuda", when="@2021-11-12", msg="without cuda MGARD@2021-11-12 has undefined symbols" ) conflicts("%gcc@:7", when="@2022-11-18:", msg="requires std::optional and other c++17 things") + conflicts("protobuf@3.22:", when="target=ppc64le", msg="GCC 9.4 segfault in CI") + conflicts("protobuf@3.22:", when="+cuda target=aarch64:", msg="nvcc fails on ARM SIMD headers") + # https://github.com/abseil/abseil-cpp/issues/1629 + conflicts("abseil-cpp@20240116.1", when="+cuda", msg="triggers nvcc parser bug") def flag_handler(self, name, flags): if name == "cxxflags":