Hi all,

I've been working to get ParaView (with Python turned ON) compiled on an HPC platform that doesn't support shared libraries. It almost works, but there is at least one little glitch that I don't see an easy fix for: during CMake configuration, ParaView creates a file named
  Utilities/VTKPythonWrapping/Executable/pvpythonmodules.h
which defines a routine that initializes all of the python modules ParaView requires. Unfortunately, this file is written by a macro defined in FindPythonLibs.cmake which uses a list of the modules and assumes that the function to initialize each one will be named
        'init' + PREFIX + moduleName + SUFFIX
This doesn't work for the mpi4py module because the build system has overridden the name of the dynamically-loaded module name. Instead of libMPIPython.so, it is simply MPIPython.so.

So far, I've manually edited the pvpythonmodules file but it would be nice to have a real solution committed. Should I 1. Un-override the non-standard library name when building static Python modules 2. Change PYTHON_ADD_MODULE and PYTHON_WRITE_MODULES_HEADER to keep a list of target names (and (a) how can I do this when the target name might be changed later in CMake parsing? (b) will VTK's FindPythonLibs.cmake always be used or might the version distributed with CMake also need to change?)
3. Do something else?

        Thanks,
        David

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to