Opened 10 years ago

Closed 8 years ago

Last modified 7 years ago

#46297 closed submission (fixed)

New port paraview42

Reported by: bgschaid@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: petrrr, dstrubbe (David Strubbe), jjstickel (Jonathan Stickel), Russell-Jones-OxPhys (Russell Jones)
Port: paraview42

Description

Port of the latest version of paraview.org (graphical postprocessor for 3D-data from numerical simulations)

Needs paraview_select (#46295)

Attachments (4)

Portfile (5.3 KB) - added by bgschaid@… 10 years ago.
paraview42 (251 bytes) - added by bgschaid@… 10 years ago.
patch-vtkProcessModuleInitializePython.h.diff (556 bytes) - added by bgschaid@… 10 years ago.
paraview_Portfile (3.2 KB) - added by jjstickel (Jonathan Stickel) 9 years ago.

Download all attachments as: .zip

Change History (17)

Changed 10 years ago by bgschaid@…

Attachment: Portfile added

Changed 10 years ago by bgschaid@…

Attachment: paraview42 added

Changed 10 years ago by bgschaid@…

comment:1 Changed 10 years ago by petrrr

Cc: petr@… added

Cc Me!

comment:2 Changed 10 years ago by petrrr

Couldn't we just make this the Paraview port?

comment:3 in reply to:  2 Changed 10 years ago by bgschaid@…

Replying to petr@…:

Couldn't we just make this the Paraview port?

I'd rather not. Let me explain the reasons I did this port:

  • Kitware provides nice binaries for ParaView but for technical reasons they don't distribute the headers and libraries which are needed for the development of plugins with it.
  • Using the Kitware-binaries from the command line is awkward
  • I develop for a software that uses ParaView for visualizing results (OpenFOAM) and there are different versions of that software in use which distribute different versions of ParaView. To be able to check which version (for instance) breaks a certain feature it would be nice to have different versions available (especially in the Python-interface of the software)
  • Compilation of the port takes a couple of hours (and then it is not sure whether the result will be usable) and I'd like to always have a usable version of PV during that time on my machine (having different paraview-ports allows me this)

So for me having only one paraview-port would reduce the usefulness tremendously

comment:4 Changed 9 years ago by dstrubbe (David Strubbe)

Using the standard ability to activate and deactivate ports should satisfy points three and four. Not clear what points one and two have to do with this issue.

comment:5 Changed 9 years ago by dstrubbe (David Strubbe)

Cc: dstrubbe@… added

Cc Me!

comment:6 Changed 9 years ago by jjstickel (Jonathan Stickel)

Cc: jjstickel@… added

Cc Me!

Changed 9 years ago by jjstickel (Jonathan Stickel)

Attachment: paraview_Portfile added

comment:7 Changed 9 years ago by jjstickel (Jonathan Stickel)

I agree that there is not a compelling reason to have multiple versions of paraview ports. I've attached a standalone Portfile for paraview (ver. 4.2; there are problems with 4.3 and 4.4: https://github.com/OpenFOAM/ThirdParty-dev/). This portfile installs Paraview as an application, i.e., all files go in /Applications/MacPorts/paraview.app. This follows the default method of installation on mac (http://www.paraview.org/Wiki/ParaView:Build_And_Install#On_Mac:). Paraview is a beast of a program, and the installation is a bit strange. I had to resort to overriding destroot to make the install work right.

Also, in order to use the python modules, the user will need to modify their PYTHONPATH and DYLD_LIBRARY_PATH environment variables (see the notes in the Portfile). Further, paraview installs its own vtk. I found that this causes a segfault if I try to use Mayavi after including Paraview's vtk libraries in my DYLD_LIBRARY_PATH. Building paraview with external vtk libraries has been considered by the developers but is not functioning yet (https://cmake.org/pipermail/paraview/2015-March/033662.html).

comment:8 Changed 8 years ago by dstrubbe (David Strubbe)

Committed in r149027. Some comments added. Dependency on gmake did not seem necessary so I removed it. I made myself co-maintainer. To do: add MPI support. Fix +ffmpeg. Enable tests. Consider adding other python variants. Fix destroot more satisfactorily. See if newer versions can be patched to address the OpenFOAM issues mentioned.

comment:9 Changed 8 years ago by jjstickel (Jonathan Stickel)

Thanks for looking at this and getting something checked in. The problems noted on the OpenFOAM repo for later Paraview versions seem suspect: why would Kitware release broken sources? It may be some interaction with OpenFOAM's repackaging. I just went with Paraview 4.2 because I had to get something working at the time.

Getting MPI to work is a bit beyond me. The destroot problem was quite baffling.

Paraview compiled with previous version of ffmpeg but not the latest. Perhaps this is fixed in later versions of Paraview?

Python 3 support comes with vtk-7. Hard to tell, but I think vtk-7 is in Paraview-5.0.

comment:10 Changed 8 years ago by dstrubbe (David Strubbe)

MPI and tests enabled, r149055. This was relatively straightforward, actually (easier than destroot). You could try out some later versions of Paraview and see if they work properly in the port.

comment:11 Changed 8 years ago by jjstickel (Jonathan Stickel)

FYI, I tried Paraview-5.0.1. It accepted Python-3 during cmake configuration, but then the build failed due to python function that is missing in Python-3. I switched back to python-2.7, and ran into the FFMPEG error. Hopefully a new version of Paraview is released soon that resolves the ffmpeg issue.

comment:12 Changed 8 years ago by dstrubbe (David Strubbe)

Resolution: fixed
Status: newclosed

Updated to 5.0.1. in r149230. The ffmpeg issue is presumably patchable in a straightforward way. The main thing still to be solved here is the fact that the code insists on downloading a lot of stuff during the build phase.

comment:13 Changed 7 years ago by Russell-Jones-OxPhys (Russell Jones)

Cc: Russell-Jones-OxPhys added
Note: See TracTickets for help on using tickets.