Spack build of paraview@master with intel@19.1.3 failed in vtkfmt static assertion
@yohann.bearzi @boonth @berkgeveci @cory.quammen
I hit this issue when testing the addition of vtk@99ee07e02edd in the paraview master branch. I was building with spack, and the paraview spec I built was paraview@master%intel@19.1.3~adios2~advanced_debug~cuda+development_files~examples+hdf5~ipo+kits+mpi+opengl2+osmesa~python+python3~qt+shared build_edition=canonical build_type=RelWithDebInfo patches=2abf2ea use_vtkm=default arch=linux-rhel7-broadwell
I believe patches=2abf2ea
is the custom patch I added to include the changes in vtk@99ee07e02edd. When building that spec, I hit this error:
/tmp/stam/spack-stage/spack-stage-paraview-master-snoy424ov5b64nldsyfsydhw4nr4eacy/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/core.h(1718): error: static assertion failed with "Cannot format a const argument."
static_assert(formattable_const, "Cannot format a const argument.");
^
detected during:
instantiation of "auto vtkfmt::v8::detail::make_arg<IS_PACKED,Context,<unnamed>,T,<unnamed>>(T &&)->vtkfmt::v8::detail::value<Context> [with IS_PACKED=true, Context=vtkfmt::v8::basic_format_context<vtkfmt::v8::detail::buffer_appender<char>, char>, <unnamed>=vtkfmt::v8::detail::type::custom_type, T=const vtkfmt::v8::remove_cvref_t<const vtkfmt::v8::remove_reference_t<vtkfmt::v8::group_digits_view<std::size_t={unsigned long}>> &> &, <unnamed>=0]" at line 1860
instantiation of "vtkfmt::v8::format_arg_store<Context, Args...>::format_arg_store(T &&...) [with Context=vtkfmt::v8::basic_format_context<vtkfmt::v8::detail::buffer_appender<char>, char>, Args=<const char [11], vtkfmt::v8::group_digits_view<std::size_t={unsigned long}>>, T=<vtkfmt::v8::remove_reference_t<const char (&)[11]> &, const vtkfmt::v8::remove_reference_t<vtkfmt::v8::group_digits_view<std::size_t={unsigned long}>> &>]" at line 844 of
"/tmp/stam/spack-stage/spack-stage-paraview-master-snoy424ov5b64nldsyfsydhw4nr4eacy/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h"
instantiation of "auto vtkfmt::v8::make_args_checked<Args...,S,Char>(const S &, const vtkfmt::v8::remove_reference_t<Args> &...)->vtkfmt::v8::format_arg_store<vtkfmt::v8::buffer_context<Char>, vtkfmt::v8::remove_reference_t<Args>...> [with Args=<const char (&)[11], vtkfmt::v8::group_digits_view<std::size_t={unsigned long}>>, S=char [27], Char=char]" at line 131 of
"/tmp/stam/spack-stage/spack-stage-paraview-master-snoy424ov5b64nldsyfsydhw4nr4eacy/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/ostream.h"
instantiation of "void vtkfmt::v8::print(std::basic_ostream<Char, std::char_traits<Char>> &, const S &, Args &&...) [with S=char [27], Args=<const char (&)[11], vtkfmt::v8::group_digits_view<std::size_t={unsigned long}>>, Char=char]" at line 182 of "/tmp/stam/spack-stage/spack-stage-paraview-master-snoy424ov5b64nldsyfsydhw4nr4eacy/spack-src/VTK/ThirdParty/ioss/vtkioss/Ioss_CopyDatabase.C"
compilation aborted for /tmp/stam/spack-stage/spack-stage-paraview-master-snoy424ov5b64nldsyfsydhw4nr4eacy/spack-src/VTK/ThirdParty/ioss/vtkioss/Ioss_CopyDatabase.C (code 2)