[Paraview] Procedure for compiling Catalyst

T.J. Corona tj.corona at kitware.com
Wed Jul 27 12:35:41 EDT 2016


Hi Christopher,

I’m pretty sure the “library keywords” are what ParaView refers to as “modules”. These are defined within ParaView’s CMakeFile.txt-s as `vtk_module(###)`. If you are building a Catalyst plugin, you will probably get most of what you need by querying the vtkPVCatalyst module for its dependencies. As for the header files, I think paraview-config only gives the include directory (`paraview-config --include`). Putting this in your makefile should be sufficient for linking against ParaView.

Sincerely,
T.J.

Thomas J. Corona, Ph.D.
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4443

> On Jul 27, 2016, at 11:58 AM, Christopher Neal <chrisneal at snumerics.com> wrote:
> 
> Thank you T.J! I think I understand what the paraview-config does(and it’s awesome). How would I know which library keywords(vtkPVPythonCatalyst, vtkUtilitiesPythonInitializer,etc) that I need to specify? Is there a list maintained somewhere of the available options?  Also, your example provides the method for obtaining the library list to link to. Is there a way to get the list of header files to include with the –I flag in a Makefile?
> 
> Thank you,
> Chris
>  
> From: "T.J. Corona" <tj.corona at kitware.com>
> Date: Tuesday, July 26, 2016 at 3:23 PM
> To: Christopher Neal <chrisneal at snumerics.com>
> Cc: Adam Lyon <lyon at fnal.gov>, Andy Bauer <andy.bauer at kitware.com>, "paraview at paraview.org" <paraview at paraview.org>, jeff wright <jeffwright83 at gmail.com>
> Subject: Re: [Paraview] Procedure for compiling Catalyst
>  
> Hi Chris,
>  
> I believe that you can link against ParaView from a standard Makefile by using the `paraview-config` executable that gets built when building ParaView. An example of how to do this is something like this:
>  
> ifeq "$(USE_PARAVIEW)" "true"
>             PARAVIEW_CONFIG = $(PARAVIEW)/bin/paraview-config
>             LIBS += $(shell $(PARAVIEW_CONFIG) --libs --python vtkPVPythonCatalyst vtkPVServerManagerRendering vtkUtilitiesPythonInitializer) -lparaview -Lparaview_catalyst/Adaptor-build -lMPASAdaptor
> endif
> 
> I should mention, it is much easier to use CMake ;)
>  
> Sincerely,
> T.J.
>  
> Thomas J. Corona, Ph.D.
> Kitware, Inc.
> R&D Engineer
> 21 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-881-4443
>  
>> On Jul 26, 2016, at 2:51 PM, Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>> wrote:
>>  
>> Thanks T.J. Your suggestions has resolved the VTK issue. I did not know that it was a submodule. I just learned that submodules exist from this actually haha.
>> 
>> I see that the examples for Catalyst are under the Paraview source tree. I was able to get Paraview to build with Catalyst. I compiled the examples using
>> cmake -DCMAKE_PREFIX_PATH~/software/ParaView_build -DBUILD_FORTRAN_EXAMPLES:BOOL=ON  ~/ParaView/Examples/Catalyst/
>> 
>> 
>> That seems to build all of the examples without throwing any errors.  Now if I have a small C++ code that I have written that I want to try and link with the Catalyst headers and library files, is there a way to figure out what the command that was used to build the example cases was so that I can copy it? Reading the makefiles that are generated by cmake hasn’t been too helpful for me i.e. I can’t find the –L and –I sections of the compile statement that pulls the libraries and headers together.
>> 
>> 
>> The end-game for me is to be able to write an adaptor for a simulation code to allow it to utilize the Catalyst functions. This code uses a standard make process, and so I would like to try and avoid having to re-cast the entire build process to cmake.
>> 
>> Thank you,
>> Chris
>>  
>> From: "T.J. Corona" <tj.corona at kitware.com <mailto:tj.corona at kitware.com>>
>> Date: Monday, July 25, 2016 at 3:45 PM
>> To: Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>>
>> Cc: Adam Lyon <lyon at fnal.gov <mailto:lyon at fnal.gov>>, Andy Bauer <andy.bauer at kitware.com <mailto:andy.bauer at kitware.com>>, "paraview at paraview.org <mailto:paraview at paraview.org>" <paraview at paraview.org <mailto:paraview at paraview.org>>
>> Subject: Re: [Paraview] Procedure for compiling Catalyst
>>  
>> Hi Chris,
>>  
>> VTK is a submodule under VTK, so try the following:
>>  
>>> git clone https://github.com/Kitware/ParaView.git <https://github.com/Kitware/ParaView.git>git submodule init
>> git submodule update
>> …the rest of the build process.
>>  
>> Hope this helps!
>>  
>> Sincerely,
>> T.J.
>>  
>> Thomas J. Corona, Ph.D.
>> Kitware, Inc.
>> R&D Engineer
>> 21 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-881-4443
>>  
>>> On Jul 25, 2016, at 3:43 PM, Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>> wrote:
>>>  
>>> Hey guys,
>>>  
>>> Have you ever had an issue with cmake concerning some missing VTK files? I typed Adam’s command exactly after cloning the Paraview repo(git clone https://github.com/Kitware/ParaView.git) <https://github.com/Kitware/ParaView.git)>. I made a ParaView_build directory and executed Adam’s command in the build directory. I’m seeing the error shown below. The VTK folder in the cloned source directory is completely empty.
>>> 
>>> 
>>> CMake Error at CMakeLists.txt:615 (include):
>>>   include could not find load file:
>>>  
>>>     vtkModuleAPI
>>>  
>>>  
>>> CMake Error at CMakeLists.txt:616 (include):
>>>   include could not find load file:
>>>  
>>>     vtkModuleMacros
>>>  
>>>  
>>> CMake Error at CMakeLists.txt:621 (include):
>>>   include could not find load file:
>>>  
>>>     vtkDetermineCompilerFlags
>>>  
>>>  
>>> CMake Error at CMake/ParaViewModuleTop.cmake:44 (vtk_add_to_module_search_path):
>>>   Unknown CMake command "vtk_add_to_module_search_path".
>>> Call Stack (most recent call first):
>>>   CMakeLists.txt:652 (include)
>>>  
>>> Thank you,
>>> Chris Neal
>>>  
>>> From: Adam Lyon <lyon at fnal.gov <mailto:lyon at fnal.gov>>
>>> Date: Monday, July 25, 2016 at 1:50 PM
>>> To: Andy Bauer <andy.bauer at kitware.com <mailto:andy.bauer at kitware.com>>
>>> Cc: Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>>, jeff wright <jeffwright83 at gmail.com <mailto:jeffwright83 at gmail.com>>, "paraview at paraview.org <mailto:paraview at paraview.org>" <paraview at paraview.org <mailto:paraview at paraview.org>>
>>> Subject: Re: [Paraview] Procedure for compiling Catalyst
>>>  
>>> Hi - I build the ParaView package with Catalyst turned on (but the ParaView GUI turned off). My cmake command is (sorry for the poor formatting, some of these options may not be useful for you)...
>>>  
>>> cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES -DBUILD_TESTING:BOOL=OFF -DPARAVIEW_BUILD_QT_GUI:BOOL=OFF -DVTK_RENDERING_BACKEND=OpenGL2 -DPARAVIEW_USE_MPI:BOOL=ON -DPARAVIEW_ENABLE_PYTHON:BOOL=ON -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON -DPARAVIEW_BUILD_CATALYST_ADAPTERS:BOOL=ON -DPARAVIEW_BUILD_PLUGIN_AnalyzeNIfTIIO:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_ArrowGlyph:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_CDIReader:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_GMVReader:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_GeodesicMeasurement:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_H5PartReader:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_InSituExodus:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_MantaView:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_Moments:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_NonOrthogonalSource:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_PacMan:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_PointSprite:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_RGBZView:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_SciberQuestToolKit:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_StreamingParticles:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_ThickenLayeredCells:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_UncertaintyRendering:BOOL=FALSE -DPARAVIEW_BUILD_PLUGIN_AcceleratedAlgorithms:BOOL=OFF -DVTK_USE_CXX11_FEATURES:BOOL=ON -DCMAKE_INSTALL_PREFIX=/somewhere /path/to/paraview/git/source
>>>  
>>>  
>>> This will build ParaView, VTK, and Catalyst and install header files so you can build your code with it. -- Adam
>>>  
>>> ------
>>>  
>>> Adam L. Lyon
>>> Scientist; Associate Division Head for Systems for Scientific Applications
>>>  
>>> Scientific Computing Division & Muon g-2 Experiment
>>> Fermi National Accelerator Laboratory
>>> 630 840 5522 office
>>> www.fnal.gov <http://www.fnal.gov/>
>>> lyon at fnal.gov <mailto:lyon at fnal.gov>
>>>  
>>> Connect with us!
>>> News <http://news.fnal.gov/>  |  Facebook <https://www.facebook.com/Fermilab>  |  Twitter <https://twitter.com/Fermilab>
>>>  
>>> On Mon, Jul 25, 2016 at 12:16 PM, Andy Bauer <andy.bauer at kitware.com <mailto:andy.bauer at kitware.com>> wrote:
>>>> Hi Chris,
>>>> 
>>>> Catalyst is not a separate entity from ParaView. It is a subset of ParaView that is used for in situ processing. The concept of the editions is that the subset of interest differs based on the desired in situ processing and linking your simulation code to all of ParaView Catalyst can take up a significant amount of memory. Hopefully the blog post at https://blog.kitware.com/paraview-catalyst-editions-what-are-they/ <https://blog.kitware.com/paraview-catalyst-editions-what-are-they/> may clear up your confusion.
>>>> 
>>>> Best,
>>>> Andy
>>>>  
>>>> On Mon, Jul 25, 2016 at 1:07 PM, Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>> wrote:
>>>>> Thank you Andy,
>>>>>  
>>>>> My understanding is that the Catalyst editions can be compiled separately from Paraview i.e. I do not need to have a version of Paraview compiled in order to compile a Catalyst edition. Is this correct?
>>>>> 
>>>>> Thank you,
>>>>> Chris
>>>>>  
>>>>> From: Andy Bauer <andy.bauer at kitware.com <mailto:andy.bauer at kitware.com>>
>>>>> Date: Friday, July 22, 2016 at 8:23 PM
>>>>> To: Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>>
>>>>> Cc: "paraview at paraview.org <mailto:paraview at paraview.org>" <paraview at paraview.org <mailto:paraview at paraview.org>>
>>>>> Subject: Re: [Paraview] Procedure for compiling Catalyst
>>>>>  
>>>>> Hi Chris,
>>>>> 
>>>>> You can get the Catalyst editions source code at http://www.paraview.org/download/ <http://www.paraview.org/download/> by just selecting Catalyst editions for Type of Download. If you're just getting started though I would recommend doing a build of ParaView without the GUI. Yes this will require learning a bit of CMake (see instructions for building ParaView at http://www.paraview.org/Wiki/ParaView:Build_And_Install <http://www.paraview.org/Wiki/ParaView:Build_And_Install>) but it will likely be smoother for you for understanding Catalyst's capabilities. Also, it's much easier to link a simulation code with Catalyst through CMake than specifying all of the include directories and libraries. When you're looking for a lean build of Catalyst on an HPC machine then I'd suggest going the edition route (the editions help avoid cross-compilation issues on HPC machines too).
>>>>> 
>>>>> Best,
>>>>> Andy
>>>>>  
>>>>> On Fri, Jul 22, 2016 at 6:16 PM, Christopher Neal <chrisneal at snumerics.com <mailto:chrisneal at snumerics.com>> wrote:
>>>>>> Hi All,
>>>>>>  
>>>>>> I’m interesting in trying to compile Paraview Catalyst. I understand that there are ‘Editions’ of the Catalyst library that vary in the amount of functions that are included from the Paraview library. That’s about the extent of my knowledge about the actual source for the Catalyst library. The documentation that I have found for compiling Catalyst is a bit dated(~3 years old), and I haven’t been able to locate an up-to-date set of documents that detail the compilation procedure for building Catalyst.  If I want Catalyst, must I first have a version of Paraview built from scratch on my system? The best documentation that I have found for building Paraview is (http://www.paraview.org/Wiki/ParaView:Build_And_Install#Download_ParaView_Source_Code) <http://www.paraview.org/Wiki/ParaView:Build_And_Install#Download_ParaView_Source_Code)>, and I’m having trouble getting Paraview to build from the instructions(I’ve never used cmake before).
>>>>>> 
>>>>>> Has anyone who has successfully built the Catalyst library or knows about the process lend me any tips about how I should approach building Catalyst?
>>>>>> 
>>>>>> Thank you,
>>>>>> Chris Neal
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Powered by www.kitware.com <http://www.kitware.com/>
>>>>>> 
>>>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html <http://www.kitware.com/opensource/opensource.html>
>>>>>> 
>>>>>> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView <http://paraview.org/Wiki/ParaView>
>>>>>> 
>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView <http://markmail.org/search/?q=ParaView>
>>>>>> 
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://public.kitware.com/mailman/listinfo/paraview <http://public.kitware.com/mailman/listinfo/paraview>
>>>>>  
>>>> 
>>>>  
>>>> 
>>>> _______________________________________________
>>>> Powered by www.kitware.com <http://www.kitware.com/>
>>>> 
>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html <http://www.kitware.com/opensource/opensource.html>
>>>> 
>>>> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView <http://paraview.org/Wiki/ParaView>
>>>> 
>>>> Search the list archives at: http://markmail.org/search/?q=ParaView <http://markmail.org/search/?q=ParaView>
>>>> 
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://public.kitware.com/mailman/listinfo/paraview <http://public.kitware.com/mailman/listinfo/paraview>
>>>  
>>> _______________________________________________
>>> Powered by www.kitware.com <http://www.kitware.com/>
>>> 
>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html <http://www.kitware.com/opensource/opensource.html>
>>> 
>>> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView <http://paraview.org/Wiki/ParaView>
>>> 
>>> Search the list archives at: http://markmail.org/search/?q=ParaView <http://markmail.org/search/?q=ParaView>
>>> 
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/paraview <http://public.kitware.com/mailman/listinfo/paraview>
>>  
> 
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160727/919a0033/attachment.html>


More information about the ParaView mailing list