Building ParaView 5.11-RC1 with ParaView-Catalyst enabled

Hello,

I’m having trouble building ParaView 5.11-RC1 with ParaView-Catalyst enabled. I am getting:

CMake Warning at VTK/CMake/vtkModule.cmake:4573 (find_package):
  By not providing "Findcatalyst.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "catalyst",
  but CMake did not find one.

  Could not find a package configuration file provided by "catalyst"
  (requested version 2.0) with any of the following names:

    catalystConfig.cmake
    catalyst-config.cmake

  Add the installation prefix of "catalyst" to CMAKE_PREFIX_PATH or set
  "catalyst_DIR" to a directory containing one of the above files.  If
  "catalyst" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  VTK/IO/CatalystConduit/CMakeLists.txt:7 (vtk_module_find_package)


CMake Error at VTK/CMake/vtkModule.cmake:4579 (message):
  Could not find the catalyst external dependency.
Call Stack (most recent call first):
  VTK/IO/CatalystConduit/CMakeLists.txt:7 (vtk_module_find_package)

I have read the release notes but do not understand whether I am supposed to provide Catalyst or whether ParaView-Catalyst is still provided in ParaView.

Thanks,
Alexandre

FYI @nicolas.vuaille , thanks.

Alex,

catalyst has moved outside of ParaView. You’ll need to build it and point ParaView to it. Please see the script paraview/VTK/.gitlab/ci/docker/fedora34/install_catalyst.sh for an example how to do that.

The release notes state this, but I agree it could be clearer.

1 Like

Hey Cory,

Thanks for your answer. I was confused whether external dependency to VTK meant it was neither in VTK nor ParaView or whether it was external to VTK but in ParaView.

Which branch/tag of Catalyst do you recommend? ParaView/release or v2.0.0-rc2?

ParaView binaries are being built with git commit 3f7871c0a2e737cb9ed35fc1c2208456fcc00a0e of catalyst, so I recommend that.

Thank you for your help.

I am indeed able to build ParaView when my environment provides a built Catalyst. However, my simulation code is no longer able to pick up the ParaView-Catalyst implementation at run time. I get:

failed to open library:  <CATATLYST_ROOT>/lib64/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory

My LD_LIBRARY_PATH does provide

<PARAVIEW_ROOT>/lib64/catalyst/libcatalyst-paraview.so

I also provide $CATALYST_IMPLEMENTATION_NAME=paraview.

Has the way of switching between Catalyst implementations changed?

Did you also add CATALYST_IMPLEMENTATION_PATHS pointing to the .so dir ?

Also, with both CATALYST_XXX env, I’m not sure LD_LIBRARY_PATH is still needed (but need double check)

Hi Nicolas,

Thank you for your help, it is working now. I had not set that variable. Indeed, it is not necessary for the LD_LIBRARY_PATH to point to libcatalyst-paraview.so.

To sum up, here is the solution:

  • Build Catalyst (https://gitlab.kitware.com/paraview/catalyst)
  • Build ParaView with -DPARAVIEW_ENABLE_CATALYST=ON as a cmake argument. Tell cmake where to look for Catalyst by providing $catalyst_DIR
  • The simulation code runtime environment should contain Catalyst, ParaView and:
    $CATALYST_IMPLEMENTATION_NAME = paraview
    $CATALYST_IMPLEMENTATION_PATHS = <PARAVIEW_ROOT>/lib64/catalyst
1 Like