CMB 3D modeling

Hi David,

Thanks for this tip. I feel like we’ve made progress. I was able to get vtk to build, but it took some work. I had to explore several tagged versions before I found one that seemed buildable based on the error messages I found. (This was tag v9.2.5). Based on that tag, I applied the following patch:

diff --git a/IO/Image/vtkSEPReader.h b/IO/Image/vtkSEPReader.h
index a7d8aad151..73f8200969 100644
--- a/IO/Image/vtkSEPReader.h
+++ b/IO/Image/vtkSEPReader.h
@@ -27,6 +27,8 @@
 
 #include <array>  // for std::array
 #include <string> // for std::string
+#include <cstddef> // Added by Pete
+#include <cstdint> // Added by Pete
 
 namespace details
 {
diff --git a/IO/PIO/PIOData.h b/IO/PIO/PIOData.h
index 8eddfb5b92..c6ccdd8e8b 100644
--- a/IO/PIO/PIOData.h
+++ b/IO/PIO/PIOData.h
@@ -12,6 +12,8 @@
 #include <string.h>
 #include <string>
 #include <valarray>
+#include <cstddef> // Added by Pete
+#include <cstdint> // Added by Pete
 
 VTK_ABI_NAMESPACE_BEGIN
 struct Cstring_less
diff --git a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
index cbccd727dd..c227336c3f 100644
--- a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
+++ b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
@@ -50,6 +50,8 @@
 #include "vtkRenderingMatplotlibModule.h" // For export macro
 
 #include <vector> // for std::vector
+#include <cstddef> // Added by Pete
+#include <cstdint> // Added by Pete
 
 struct _object;
 typedef struct _object PyObject;
diff --git a/ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp b/ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp
index 6267684218..ae1f391f5f 100644
--- a/ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp
+++ b/ThirdParty/libproj/vtklibproj/src/proj_json_streaming_writer.hpp
@@ -33,6 +33,8 @@
 
 #include <vector>
 #include <string>
+#include <cstddef> // Added by Pete
+#include <cstdint> // Added by Pete
 
 #define CPL_DLL
 
diff --git a/ThirdParty/vtkm/vtkvtkm/vtk-m b/ThirdParty/vtkm/vtkvtkm/vtk-m
index 618c40a91b..cfd6d3fbe5 160000
--- a/ThirdParty/vtkm/vtkvtkm/vtk-m
+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m
@@ -1 +1 @@
-Subproject commit 618c40a91b9085e279e0103e97c8dfd1114665b3
+Subproject commit cfd6d3fbe534343d217c2dce47a46763692db0ec

After that, vtk built to the end, and the superbuild claimed to be finished.

Unfortunately, CMB modelbuilder itself is not built. Here is a log, with ‘Up-to-date’ messages suppressed.

pete@pilot ~/software/kitware-stuff/build $ grep -v 'Up-to-date' log.txt 
[1/16] Performing update step (git update) for 'paraview'
[2/16] Skipping patch step (no custom command) for 'paraview'
[3/16] Performing update step (git update) for 'cmbworkflows'
HEAD is now at 69561d6 Merge branch 'migrate-ace3p-truchas' into 'master'
[4/16] Skipping patch step (no custom command) for 'cmbworkflows'
[5/16] No configure step for 'cmbworkflows'
[6/16] No build step for 'cmbworkflows'
[7/16] Performing install step for 'cmbworkflows'
[8/16] Completed 'cmbworkflows'
[9/16] Performing configure step for 'paraview'
Not searching for unused variables given on the command line.
-- Using 'QtHelp' without 'QtWebEngine' will ignore embedded javascript and *.js files for documentation
-- VTK version: 9.2.5-1970-g6fc11578d8
CMake Warning (dev) at /usr/share/cmake/Modules/CMakeDependentOption.cmake:89 (message):
  Policy CMP0127 is not set: cmake_dependent_option() supports full Condition
  Syntax.  Run "cmake --help-policy CMP0127" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  VTK/Common/Core/CMakeLists.txt:47 (cmake_dependent_option)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Unable to determine HDF5 C flags from HDF5 wrapper.
-- Unable to determine HDF5 C version_var from HDF5 wrapper.
CMake Deprecation Warning at ThirdParty/QtTesting/vtkqttesting/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Enabled modules: VTK(162), ParaView(49 + 8)
-- Configuring done (4.7s)
-- Generating done (2.7s)
-- Build files have been written to: /home/pete/software/kitware-stuff/build/superbuild/paraview/build
[10/16] Performing build step for 'paraview'
[1/6] Generating Fortran dyndep file Clients/Catalyst/CMakeFiles/Catalyst-objects.dir/Fortran.dd
[2/6] Generating Fortran dyndep file Clients/PythonCatalyst/CMakeFiles/PythonCatalyst-objects.dir/Fortran.dd
[3/6] Automatic MOC and UIC for target paraview
[4/5] Building CXX object Clients/ParaView/CMakeFiles/paraview.dir/ParaViewMainWindow.cxx.o
[5/5] Linking CXX executable bin/paraview
[11/16] Performing install step for 'paraview'
[0/1] Install the project...
-- Install configuration: "Release"
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/vtk/VTK-vtk-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/vtk/vtk-prefix.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/vtk/VTK-vtk-module-find-packages.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/ParaView-vtk-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/ParaViewClients-vtk-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/SLACTools-vtk-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/SLACTools-vtk-module-find-packages.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/ParaViewPlugins-paraview-plugin-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/vtk/vtkmodules-vtk-python-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/paraview.modules-vtk-python-module-properties.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/bin/paraview
-- Set non-toolchain portion of runtime path of "/home/pete/software/kitware-stuff/build/install/bin/paraview" to "$ORIGIN/../lib"
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/paraview-prefix.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/ParaView-vtk-module-find-packages.cmake
-- Installing: /home/pete/software/kitware-stuff/build/install/lib/cmake/paraview-5.11/ParaView-client-xml.cmake
[12/16] Completed 'paraview'
[13/16] No configure step for 'vtk'
[14/16] No build step for 'vtk'
[15/16] No install step for 'vtk'
[16/16] Completed 'vtk'

Suspecting I might not have configured correctly, I found that indeed CMB should be enabled:

pete@pilot ~/software/kitware-stuff/build $ grep -i enable CMakeCache.txt |grep -i cmb
ENABLE_cmb:BOOL=ON
ENABLE_cmbusersguide:BOOL=OFF
ENABLE_cmbworkflows:BOOL=1

FWIW Enabling ENABLE_cmbusersguide didn’t make a difference.

Subsequently, thinking HDF5 might be the issue, I made sure to enable everything with HDF5 (including removing and recloning, after cmake couldn’t resolve the changes). This again reported the superbuild completing, but didn’t go any further than vtk. Here are the related build flags for cmake.

pete@pilot ~/software/kitware-stuff/build $ grep -i enable CMakeCache.txt |grep -i -e cmb -e hdf
ENABLE_cmb:BOOL=ON
ENABLE_cmbusersguide:BOOL=OFF
ENABLE_cmbworkflows:BOOL=1
ENABLE_hdf5:BOOL=ON
ENABLE_hdf5cpp:BOOL=ON
//MODIFIED property for variable: ENABLE_hdf5cpp
ENABLE_hdf5cpp-MODIFIED:INTERNAL=ON

Am I missing something that would cause modelbuilder to be built? Again, I appreciate your looking at this. We’re anxious to use cmb within Tomas’s thesis. :slight_smile:

Pete