From c74bbc67237d14dc1dfef103828f50ce25b5d02f Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Wed, 21 Dec 2022 17:07:24 -0700 Subject: paraview: patch catalyst etc. to build with oneapi (#33562) without this patch, build of paraview has a meltdown when reaching 3rd party catalyst and other packages with these types of errors: 335 /tmp/foo/spack-stage/spack-stage-paraview-5.10.1-gscoqxhhakjyyfirdefuhmi2bzw4scho/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h:1732:11: error: cannot capture a bi t-field by reference 336 if (sign) *it++ = static_cast(data::signs[sign]); 337 ^ Signed-off-by: Howard Pritchard Signed-off-by: Howard Pritchard --- .../paraview/catalyst-etc_oneapi_fix.patch | 45 ++++++++++++++++++++++ .../repos/builtin/packages/paraview/package.py | 3 ++ 2 files changed, 48 insertions(+) create mode 100644 var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch diff --git a/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch b/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch new file mode 100644 index 0000000000..18f015f5b0 --- /dev/null +++ b/var/spack/repos/builtin/packages/paraview/catalyst-etc_oneapi_fix.patch @@ -0,0 +1,45 @@ +diff --git a/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h b/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h +index f0902169..86eb72e7 100644 +--- a/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h ++++ b/ThirdParty/catalyst/vtkcatalyst/catalyst/thirdparty/conduit/fmt/conduit_fmt/format.h +@@ -1726,7 +1726,7 @@ OutputIt write_nonfinite(OutputIt out, bool isinf, + auto str = + isinf ? (fspecs.upper ? "INF" : "inf") : (fspecs.upper ? "NAN" : "nan"); + constexpr size_t str_size = 3; +- auto sign = fspecs.sign; ++ auto sign = static_cast(fspecs.sign); + auto size = str_size + (sign ? 1 : 0); + using iterator = remove_reference_t; + return write_padded(out, specs, size, [=](iterator it) { +@@ -1807,7 +1807,7 @@ OutputIt write_float(OutputIt out, const DecimalFP& fp, + auto significand = fp.significand; + int significand_size = get_significand_size(fp); + static const Char zero = static_cast('0'); +- auto sign = fspecs.sign; ++ auto sign = static_cast(fspecs.sign); + size_t size = to_unsigned(significand_size) + (sign ? 1 : 0); + using iterator = remove_reference_t; + + +diff --git a/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h b/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h +index 5398a23a..108b4f90 100644 +--- a/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h ++++ b/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h +@@ -1587,7 +1587,7 @@ auto write_nonfinite(OutputIt out, bool isinf, basic_format_specs specs, + auto str = + isinf ? (fspecs.upper ? "INF" : "inf") : (fspecs.upper ? "NAN" : "nan"); + constexpr size_t str_size = 3; +- auto sign = fspecs.sign; ++ auto sign = static_cast(fspecs.sign); + auto size = str_size + (sign ? 1 : 0); + // Replace '0'-padding with space for non-finite values. + const bool is_zero_fill = +@@ -1673,7 +1673,7 @@ auto write_float(OutputIt out, const DecimalFP& fp, + auto significand = fp.significand; + int significand_size = get_significand_size(fp); + static const Char zero = static_cast('0'); +- auto sign = fspecs.sign; ++ auto sign = static_cast(fspecs.sign); + size_t size = to_unsigned(significand_size) + (sign ? 1 : 0); + using iterator = reserve_iterator; + diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index 1b6437e21f..6a6768d706 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -255,6 +255,9 @@ class Paraview(CMakePackage, CudaPackage): # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591 patch("xlc-compilation-pv590.patch", when="@5.9.0%xl_r") + # intel oneapi doesn't compile some code in catalyst + patch("catalyst-etc_oneapi_fix.patch", when="@5.10.0:5.10.1%oneapi") + @property def generator(self): # https://gitlab.kitware.com/paraview/paraview/-/issues/21223 -- cgit v1.2.3-60-g2f50