I’m trying to run the Catalyst V2 C++ example, but the python pipeline is not running. Here is my setup:
- Ubuntu 24.04
- Built Paraview 6.0.1 from source (regular build, not superbuild, but with MPI and catalyst enabled)
- Built catalyst V2 from source: https://gitlab.kitware.com/paraview/catalyst
Built the C++ V2 example: https://gitlab.kitware.com/paraview/paraview/-/tree/master/Examples/Catalyst2/CxxFullExample
Set the environment variables and debugging flags:
export CATALYST_IMPLEMENTATION_PATHS=/home/sam/.local/paraview-6.0.1/lib/catalyst
export CATALYST_IMPLEMENTATION_NAME=paraview
export LD_LIBRARY_PATH=/home/sam/.local/paraview-6.0.1/lib:$LD_LIBRARY_PATH
export CATALYST_DEBUG=1
export PARAVIEW_LOG_CATALYST_VERBOSITY=INFO
./CxxFullExample/build/bin/CxxFullExampleV2 ./CxxFullExample/catalyst_pipeline.py
The following output was produced:
“from paraview.simple import *”
catalyst debug: preferring environment variables? no
catalyst debug: implementation name from CATALYST_IMPLEMENTATION_NAME: paraview
catalyst debug: search paths from CATALYST_IMPLEMENTATION_PATHS
catalyst debug: trying to load /home/sam/.local/paraview-6.0.1_CUSTOM_BUILD/lib/catalyst/libcatalyst-paraview.so: valid
catalyst debug: loaded implementation: 0x79dda0ac3560
( 0.017s) [main thread ] ParaViewCatalyst.cxx:241 INFO| { catalyst_initialize_paraview
( 0.017s) [main thread ] ParaViewCatalyst.cxx:247 INFO| . ‘catalyst’ node node present. using default initialization params.
( 0.017s) [main thread ]vtkInSituInitialization:146 INFO| . { Initializing MPI communicator using ‘comm’ (1140850688)
( 0.017s) [main thread ]vtkInSituInitialization:146 INFO| . } 0.000 s: Initializing MPI communicator using ‘comm’ (1140850688)
( 0.017s) [main thread ]vtkInSituInitialization:174 INFO| . Initializing Catalyst
( 0.193s) [pvbatch ] ParaViewCatalyst.cxx:351 INFO| . No Catalyst Python scripts or pre-compiled pipelines specified. No analysis pipelines will be executed.
( 0.193s) [pvbatch ] ParaViewCatalyst.cxx:241 INFO| } 0.176 s: catalyst_initialize_paraview
( 0.201s) [pvbatch ] ParaViewCatalyst.cxx:362 INFO| { catalyst_execute_paraview
( 0.201s) [pvbatch ]vtkCatalystBlueprint.cx:499 INFO| . { catalyst: verify
…
The program continues, conducting 10 timesteps of the synthetic simulation, without catalyst output, before terminating normally.
It looks like there are a few strange things happening in the log above. For one, “node.print()” at https://gitlab.kitware.com/paraview/paraview/-/blob/master/Examples/Catalyst2/CxxFullExample/CatalystAdaptor.h#L58 prints the first line of the python script, which doesn’t feel like the expected behavior for this function? I could be wrong: “from paraview.simple import *”.
Secondly, and more worrisome, the check cpp_params.has_path("catalyst/scripts") at https://gitlab.kitware.com/paraview/paraview/-/blob/master/Clients/InSitu/catalyst/ParaViewCatalyst.cxx?ref_type=heads#L282 returns false, triggering the message:No Catalyst Python scripts or pre-compiled pipelines specified. No analysis pipelines will be executed.I’m not sure why this would be, as the python script is clearly getting read into the buffer on line 52 of CatalystAdaptor.h. The same behavior is observed if I hardcode the file path instead of using the input argument on line 44. Also, the library is successfully loaded (libcatalyst-paraview.so), so the handshake between catalyst and paraview is definitely occurring.
Does anybody have ideas what might be going on here?
Sam