Unable to use Paraview Binaries or Build Paraview on Ubuntu 18.04

python
(Geoff Schrank) #1

Good evening!

I’ve been a long time user of paraview, and I recently updated to Ubuntu 18.04. Previously, I had been using Ubuntu 16. I’ve been using Paraview v5.6.

After updating to Ubuntu 18, I found that I could no longer use Plot Selection Over Time to plot a point derived from an Integrate Over Variables point. This has always been rendered as Point 0 after using the module, and it worked before updating to Ubuntu 18.

After updating, when trying to use the Plot Selection Over Time, Paraview would abort with a seg fault error.

I reasoned that the update to Ubuntu 18 must of removed some dependencies that the binary relied on, so I’ve been attempting to build Paraview from the Super Build. This has worked very poorly.

I seem to be getting stuck building python. If I either build using the SuperBuild python library or if I use the system library, cmake claims that it is unable to find Python3. The specifics of the error change depending on whether or not I am trying the build with the system python or with the superbuild python.

The error when trying to use the superbuild python library is:

CMake Error at /home/geoff/bin/cmake-3-12/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter)

The error when trying to use the system python library is:

-- Could NOT find Python3 (missing: Development) (found suitable version "3.7.1", minimum required is "3.2")
CMake Error at VTK/CMake/vtkModule.cmake:3562 (message):
  Could not find the Python3 external dependency.

I have installed python3-dev using the usual method (apt).

I’m using cmake v3.12.

I’ve enabled the following modules in the build:

*paraview
*cxx11
*ffmpeg
*python
*qt5

Of the modules listed, I believe I need all of them, save cxx11 which I’m including only because it defaults to ENABLE when I use cmake-gui.

I’m using the system qt5.

I’m building from the HEAD of the master branch. This was after encountering similar problems trying to build from the v5.6.0 tag.

Any assistance would be appreciated.

(Mathieu Westphal (Kitware)) #2

Did you try building ParaView without the superbuild ?
FYI, ParaView is working well with Ubuntu 18 here, so we may want to focus on this issue instead.

(Geoff Schrank) #3

I’ve not tried without the Superbuild. That was going to be the next step.

Do you mean trying to understand the original seg fault error I’m getting with the Linux binary distribution of paraview? Yes, I’m very open to trying to work that problem. I can try to send a copy of the python script I’m using for data analysis and a sample set of the data, if that would help with the diagnostic.

It has occurred to me that something vital was misconfigured with the Ubuntu 18 install, but I’ve not seen symptoms in other programs save my build of an FEM solver.

Or did you have something else in mind?

(Mathieu Westphal (Kitware)) #4

That is indeed what I had in mind.

Can you please explain how to reproduce your issue with the binaries on Ubuntu 18 ?
The more simple the better.

(Geoff Schrank) #5

Certainly I will try.

I am using Paraview to analyize transient CFD/Multi-Physics datasets in VTK format. As part of the analysis, I integrate over some of the variables using the “Integrate Variables” function and then divide by the integrated volume to create an averaged value of the variable. I have a calculator that does a bit more mathematical manipulation on this averaged value. I then select the value returned from the calculator function (there are a few ways to do this, but the way it is implemented in the script is by:
$query = ‘id==0’
$s = SelectPoints(query)
)
I then use the “Plot Selection Over Time” function to plot the calculated value over the transient dataset.

This produces graphs like what is seen in the right hand side of this figure (I’ve plotted several such values in the graph)

Since updating to Ubuntu 18, when I attempt the above procedure, either by python script using pvbatch, by implementing the python script in the paraview gui, or by manually applying the function using the gui interface menu items and creating a pipeline, the “Plot Selection Over Time” function results in aborting paraview and return a seg fault error.

I’ve attempt the procedure on two different data sets, both of which had been analyzed previously using the python script successfully under Ubuntu 16, and both returned the same error.

All other functionality I’ve used in paraview since the update has functioned as it did previously when installed on Ubuntu 16.

I still have a machine with a VM running Ubuntu 16, and I have not yet tested to see if the data sets can be analyzed using paraview on this VM (mainly because there are a few formatting challenges involved in doing this, but it has occurred to me to try just as a sanity check).

Thank you so much for your help! Please let me know if there are any parts of my explanation that are unclear.

(Mathieu Westphal (Kitware)) #6

That is quite clear. Ideally, could you share a state file (.pvsm) and associated datafile in order to reproduce ?

(Geoff Schrank) #7

I am so very sorry, but it appears I’ve made a horrible mistake.

I was preparing a scaled down data set to send you. I decided to test it with the my script and the binary of Paraview 5.6.0. I found that the scaled down dataset appears to work. After a little more investigating, I found that I was exceptionally unlucky in choosing the two datasets that I had chosen to attempt to use my script on. Other datasets appear to work with the script. I think that one or more of the dataset VTK files have become corrupted and are leading to the seg fault.

My sincere apologies.

Point of interest, I would at some point like to know how to actually build Paraview on Ubuntu. Would you recommend using the stand-alone source rather than the superbuild?

Thank you again so much for your help!

(Mathieu Westphal (Kitware)) #8

To be honest, unless you have specific needs, I would suggest the following order of preference :

  1. Distribution provided package
    https://packages.ubuntu.com/bionic/paraview

  2. Binaries downloaded from our website
    https://www.paraview.org/download/

  3. ParaView built according to our guide with minimal dependencies
    https://github.com/Kitware/ParaView/blob/master/Documentation/dev/build.md

  4. ParaView superbuild
    https://gitlab.kitware.com/paraview/paraview-superbuild/blob/master/README.md