How to specify libhdf5 location while building Paraview5.8.1 (DeskTop) in Ubuntu 18.04?

Dear All,

Greetings… This is my first post seeking help in creating Plugin .so object. My issue is as follows:

  1. I am in Ubuntu 18.04 and have built the HDF5 library (in particular libhdf5.so) in ~/hdf5_build/CMake- hdf5-1.10.1/HDF_Group/HDF5/1.10.1/lib/
  2. I have exported this path in the terminal before building the paraview from source (5.8.1)
  3. My cmake options (in command line at the appropriate directory) are
cmake -GNinja -DPARAVIEW_USE_PYTHON=ON -DPARAVIEW_USE_MPI=ON -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -CMAKE_BUILD_TYPE=Release ..
ninja
  1. The Reader Plugin is pasted in Plugin directory of the cloned folder before building paraview.
  2. However, after repeated trials, I could not generate the PlugIn.so object to be load by using Manage Plug-in Menu.
  3. I suspect it is a hdf5 issue. But trials with options such as
-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON -D-DHDF5_DIR:PATH=~/hdf5_build/CMake-hdf5-1.10.1/HDF_Group/HDF5/1.10.1/lib/

did not succeed.

I request your advice on the matter. Please note that I am new to cmake and ninja tools.

Thanks in advance.

With Best regards

Sukumar

Are you building ParaView or a Plugin ? What is not working ?

Thanks a lot for your reply.

I am building both Paraview and Plugin. The Paraview binary is created and appears to be working fine. However, I am unable to create the .so file for the Plugin.
Any advice will be highly appreciated. Kindly let me know If more details are necessary.

Best regards.

Sukumar

Can you try building any plugin within Examples/Plugin directory ?

I never tried. But the plugins which are already part of Paraview such as “PanaromicProjectionView” etc were built and there exists the corresponding .so file.

It may be very naive to ask, but being totally new to Paraview building process, I thought that Plugins will be built automatically while Paraview is being built !

Please advise me how to build the Plugin separately, after/during compiling/building Paraview.

Best regards.
Sukumar

Plugins are, Examples Plugins aren’t.

What are you trying to achieve here ?

Dear Mathieu,
Thanks for your support.

In fact I am trying to create the .so file for a Plugin supplied with a free Finite Element Software.

A.) The content of the Plugin folder (named as PluginRoot here for explanation) are as follows:

  1. pluginRoot/CMakeLists.txt; pluginRoot/Tools (folder); PluginRoot/Plugin(folder)
  2. pluginRoot/Plugin/CMakeLists.txt; pluginRoot/Plugin/paraview.plugin; pluginRoot/Plugin/Reader/CMakeLists.txt; pluginRoot/Plugin/Reader/readerName.xml; pluginRoot/Plugin/Reader/vtkreaderName.cxx; pluginRoot/Plugin/Reader/vtkreaderName.h; pluginRoot/Plugin/Reader/vtk.module
  3. pluginRoot/Tools/

B) The PluginRoot folder was copied into paraviewSource/Plugin/ folder before compiling paraview.
C) It was supposed to generate the .so file in ~/paraview/paraview_build//lib/paraview-5.8/plugins/pluginName/pluginName.so;
D) However, the pluginName folder nor the .so file is generated.
E) Please advise if any additional build step is needed .

Best regards
Sukumar

Do not do that, build your plugin independently.

Would you kindly tell me how to do that! I am inexperienced totally.
Regards.

cd pluginRoot
mkdir build
cd build
ccmake ../
*configure ParaView_DIR to point to your build directory of ParaView*
make

Thank you very much. Would you also please guide me how to configure PARAVIEW_DIR to point to paraview_build ? Sorry to bother you so much.

Regards.

just use cmake, ccmake or cmake-gui to set the paraview dir to the repository of your build.

Search for “set cmake variable”.

Thank you very much…
I will try these steps and let you know the outcome.

With Best regards

Sukumar

Dear @mwestphal Mathieu,

Let me express my sincere gratitude for guiding me to build the Plugin library.
Of course I had to adopt an overkill, i.e. changing my distribution to Ubuntu 20.04. This is due to my problem of installing libhdf5-dev from Ubuntu repository in Ubuntu 18.04LTS.

Now in Ubuntu20.04LTS, I first built paraview binary and then built the PlugIn after installing cmake and ccmake. Here I am writing my steps which may help some one trying to install some custom plugin.
Note that I am describing the folder I cloned paraview in as “paraview_clone” r and my paraview buid directory is “paraview_clone//paraview_build”. The custom plugin was a copied to “paraview_clone/Plugins/PluginName” folder.
My steps are:

  • Build paraview in “paraview_clone/paraview_build” as usual
cd ../paraview_build
cmake -GNinja -DPARAVIEW_USE_PYTHON=ON -DPARAVIEW_USE_MPI=ON -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DCMAKE_BUILD_TYPE=Release ..
ninja
  • This creates paraview binary at …/paraview_build/bin folder.
  • Next step is
cd '../PluginName'
mkdir build
cd build
ccmake -DParaView_DIR=/home/sukumar/paraview/paraview_build ../
make
  • The ' ccmake...' above This will invoke cmake-gui where configure options are shown. Edit the BUILD_TYPE as Release and press g to generate the configure file, and exit the cmake-gui
  • This will create the PluginName.so file at ../PluginName/build/lib/PluginName/

Hope this would help some-one new to cmake/ccmake tools like me.

Warm Regards and thanks @mwestphal once again for supporting a beginner like me with compassion.

Sukumar

Dear all,

  1. In my last post, the following was used to configure the plugin library.
ccmake -DParaView_DIR=/home/sukumar/paraview/paraview_build ../

2.Instead of ccmake in the above command to generate make file, simple command line procedure to generate ninja build file is

cmake -GNinja -DParaView_DIR=/home/sukumar/paraview/paraview_build ../
ninja

Hope this helps some one.

Best regards.
Sukumar

1 Like