clean Paraview build link for plugin development


(wil) #1

Could anyone give a link to a clean Paraview build (and is depdencies : vtk, qt) working for plugin development ?
(builded with ninja or visual studio)


(Cory Quammen (Kitware)) #2

If you are looking for a ParaView SDK against which to build plugins, I’m afraid we do not provide one.

ParaView superbuild is a single project used to build ParaView and its dependencies as well as package ParaView. It is used to generate the official ParaView binaries. Examples of options for building on Windows are available on this web page.


(Mark) #3

Quite a timely topic for me. I was just trying to work out alternatives for users (primarily Linux) to have a ParaView 5.5.2 binary package, but with include headers. For RPM-based systems this would correspond roughly to -devel package. I’d hope to see at least headers for all the straight ParaView and VTK libraries (equivalent to what you might get with PARAVIEW_INSTALL_DEVELOPMENT_FILES=ON).

From the lib/ directory, I can see there a number of libQt* files, so I can imagine that won’t be exactly much fun to provide headers for. Nonetheless, I wonder if it is possible to get reasonable far with just the ParaView, VTK headers.

The main problem we encounter when trying to build ParaView is when the system Qt is too old, or we are missing Qt headers for one of the countless Qt sub-packages, libxcb being another cause of pain.

Is there anything doable here?

Cheers,
/mark


(Cory Quammen (Kitware)) #4

Is there anything doable here?

Certainly it is possible to improve the SDK packaging, but I’m not aware of any resources to work on it in the near term.


(Mathieu Westphal) #5

Once you have a working plugin for your own build of ParaView, we can also build it for you at Kitware so it will be distributable for specific version of the ParaView binaries.


(Mark) #6

Hi Matthieu,
Thanks for the offer but the plugins are OpenFOAM related and wouldn’t really work without OpenFOAM internals. In the past this wasn’t such a big deal since I’d mostly advise people to use a fairly recent stock ParaView and really worry about it. The native OpenFOAM reader (built into ParaView VTK) is superior in many ways with ours being more historic and having a few minor details that are sometimes useful (eg, the blockMeshDict viewer, handling of sets).

In the meantime, however, we have a run-time mechanism for embedding Catalyst into OpenFOAM (the OpenFOAM-v1806 release) that we worked on with CINECA and with some advice from Andy Bauer (Kitware). I think the functionality is really nice but for people to use it they need to compile against a paraview or catalyst installation that also has includes. Building ParaView definitely scares off many people. Getting all the dependencies resolved (Qt5 being the largest hurdle, various libX11 pieces being another) is the main issue. If we had some development includes as a regular or optional part of the ParaView binary distributions, this would reduces the entry hurdle to using OpenFOAM and Catalyst. As people refine their use, they would presumably define their own Catalyst editions, but for starting off it is most certainly an advantage when it works out of the box.

A kitware build repository (eg https://openbuildservice.org/) with some of the major distros would go a long way. Some means for people to yum,apt,zypper,… and get a newer ParaView and a -devel package. This would be ideal.

Cheers,
/mark


(Mathieu Westphal) #7

I definitely agree with you, but this is quite an effort to make on our side to provide a sdk, no resources for that yet sadly, as @cory.quammen stated.

However I think generating a compatible binary should not be a problem, either on your side by replicating the release of ParaView you are targeting, either on our side if you specify your dependencies.


(Mark) #8

Hi @cory.quammen - with 5.6.0 in the RC stage, I thought I’d try flogging at this issue again (still hoping that it is solvable).

If the paraview binary gets built with PARAVIEW_INSTALL_DEVELOPMENT_FILES=ON - shouldn’t that be enough to generate appropriate header files that could included in the binary pack? I can’t see what else is needed.

Cheers,
/mark


(Cory Quammen (Kitware)) #9

@olesenm Maybe it’s that simple, but I’m skeptical :slight_smile: Have you tried packaging ParaView via the superbuild and enabled PARAVIEW_INSTALL_DEVELOPMENT_FILES=ON to produce an installation against which you can compile plugins on linux?


(Mathieu Westphal) #10

@olesenm : binary compatibility is the definitive issue here. You can take a look into paraviewsdk in the paraview-superbuild and contribute to it.


(Mark) #11

Hi @mwestphal or @cory.quammen

A quick one. Should paraview-config be considered part of the regular paraview, or rather part of a devel-only package?

The --iibs part could be runtime I guess(?), but the --include part looks like it is devel-only.

Cheers,
/mark


(Mark) #12

FYI:
ParaView 5.6.0 with a -devel RPM is now part of the science repo and Factory repo (ie, for the next openSUSE release)

Both offer one-click install and/or zypper install.


(Cory Quammen (Kitware)) #13

Sorry @olesenm I’m not familiar with paraview-config', so I don’t know the answer your question. Seems like an answer was unnecessary, in any case.

Thanks for the openSUSE -devel packaging!