[Paraview] Compiling Paraview on cluster

Chourasia, Amit amit at sdsc.edu
Thu Nov 3 12:05:39 EDT 2011


Mesa Build:
Using Burlen's helpful tips I have moved to another step
The cluster I was compiling on had python2.4.x which is not compatible
with some stuff in mesa7.11.

I found another build of python on the cluster which I ended up using to
solve build problems. I wish mesa provided a mechanism to point to another
python version rather than making users resort to monkeying with
environment variables and aliasing trickery


Paraview Build with OSMESA (no GPU)
I am using intel compiler and mvapich/1.2.7 as a first try

1) The cluster does not have boost libraries so I had to turn
VTK_USE_BOOST=OFF.
However PARAVIEW_USE_VISITBRIDGE fails to compile because its seems to
have no method to compile when boost libraries are not available. So I had
to turn that off as well to march ahead, in the mean time will get boost
libraries installed on the cluster

How essential are boost libraries to VTK and Paraview?


2)MPI troubles

I think there are problems on two places

During configure
__________________________________________________________________
CMake Warning (dev) at
/rmount/usr_apps/shells/cmake/share/cmake-2.8/Modules/FindMPI.cmake:81
(include):
  File /rmount/usr_apps/shells/cmake/share/cmake-2.8/Modules/FindMPI.cmake
  includes /work/achourasia/ParaView-3.10.1/CMake/GetPrerequisites.cmake
  (found via CMAKE_MODULE_PATH) which shadows
  
/rmount/usr_apps/shells/cmake/share/cmake-2.8/Modules/GetPrerequisites.cmak
e.
  This may cause errors later on .

  Policy CMP0017 is not set: Prefer files from the CMake module directory
  when including from there.  Run "cmake --help-policy CMP0017" for policy
  details.  Use the cmake_policy command to set the policy and suppress
this
  warning.
_________________________________________________________________


During Build
__________________________________________________________________


/work/achourasia/ParaView-3.10.1/VTK/Utilities/mrmpi/src/mapreduce.cpp(14):
 catastrophic error: could not open source file "mpi.h"
  #include "mpi.h"
__________________________________________________________________



I am stumped because I do set the path to MPI include dirs and still see
this error
Will Paraview build/work correctly with Python2.4.x? If not which version
and how to specify another version of python during configuration

Here is my configure script where I set bunch of things
Again Burlen provided me most of these to get started (Thanks).

module load cmake
export CC=icc
export CXX=icpc
export  CMAKE_INSTALL_PREFIX=/work/achourasia/paraview_build
export  VTK_OPENGL_HAS_OSMESA=ON
export  VTK_USE_X=OFF
export  OSMESA_INCLUDE_DIR=/work/achourasia/mesa_build/include
export  OPENGL_INCLUDE_DIR=/work/achourasia/mesa_build/include
export  OPENGL_gl_LIBRARY=""
export  OPENGL_glu_LIBRARY=/work/achourasia/mesa_build/lib/libGLU.so
export  OSMESA_LIBRARY=/work/achourasia/mesa_build/lib/libOSMesa32.so

export PARAVIEW_BUILD_QT_GUI=OFF
export 
MPI_COMPILER=/usr/apps/compilers/intel/mvapich-gen2multirail-1.0/bin/mpicxx
export MPI_LIBRARY=/usr/apps/compilers/intel/mvapich-gen2multirail-1.0/lib
export 
MPI_INCLUDE_PATH=/usr/apps/compilers/intel/mvapich-gen2multirail-1.0/includ
e
export CMAKE_C_FLAGS=" -lmpi"
export CMAKE_CXX_FLAGS=" -lmpi++"

 #-DVTK_USE_BOOST=ON \
cmake \
-DCMAKE_BUILD_TYPE=Debug \
  -DBUILD_SHARED_LIBS=ON \
  -DBUILD_TESTING=OFF \
  -DPARAVIEW_DISABLE_VTK_TESTING=ON \
  -DPARAVIEW_TESTING_WITH_PYTHON=OFF \
  -DVTK_USE_BOOST=OFF \
  -DPARAVIEW_BUILD_QT_GUI=OFF \
  -DPARAVIEW_ENABLE_PYTHON=ON \
  -DPARAVIEW_USE_MPI=ON \
  -DPARAVIEW_BUILD_PLUGIN=EyeDomeLighting \
  -DPARAVIEW_USE_VISITBRIDGE=OFF \
  -DVISIT_BUILD_READER_CGNS=OFF \
  -DVISIT_BUILD_READER_Silo=OFF \
  -DBUILD_DOCUMENTATION=ON \
  -DPARAVIEW_GENERATE_PROXY_DOCUMENTATION=ON \
  -DGENERATE_FILTERS_DOCUMENTATION=ON \
  -DDOCUMENTATION_HTML_HELP=ON \
  $*



mpich/1.2.7, mpich2/1.3.2 and openmpi/1.4.1 are other things I can also
try, but the trouble is somewhere else at the moment.

I would appreciate more insight into building Paraview.


Thanks
--Amit









On 11/1/11 2:55 PM, "Burlen Loring" <bloring at lbl.gov> wrote:

>One thing I should clarify:
>
>When I said the client and server apps can be compiled independently, I
>meant with respect to X11/and OpenGL options. You will need to be aware
>that other build options are not as flexible.  For instance if you want
>your users to be able to use binaries from Kitware web site, you need to
>enable the same plugin options, otherwise the server could crash for
>instance when opening files. This is my experience up to ver 3.10, I
>hope that in the future releases PV will be more intelligent about only
>using a server side object if it's present.
>
>On 11/01/2011 12:43 PM, Burlen Loring wrote:
>> Hi Amit,
>>> 1.  Do I compile paraview with OSMesa or Xlib? (X is available on the
>>> cluster, will this require X on client?). Is it better to avoid X?
>> The client and server are separate apps and can be compiled
>> independently. If you have graphics hardware on your cluster you will
>> want to use this and link against the accelerated open gl libraries. I
>> believe this requires X. If you do not have graphics hardware then you
>> can safely disable X on the server side and use OSMesa.
>>>    2.  Do I compile with QT or without on cluster
>> The server app does not need qt, and you can safely compile it without
>> qt. The client app obviously needs Qt. You could provide a client with
>> the idea that users run the client remotely (eg using nx, or vnc) or
>> you could ask them to install the client on their workstation and
>> provide a configuration script so that they can launch jobs on your
>> cluster. The former seems to be easier for the users while in my
>> experience the latter provides better performance and usability. With
>> the caveat that it depends on the network connection of your users.
>>>    3.  Which compiler and which MPI to use (we have intel and gnu
>>> compilers, MPI, mvapich and openmpi) ?
>> Usually this choice is somewhat arbitrary. ParaView can compile with
>> issue using any of the combinations. Intel is supposed to produce
>> faster code than gcc and be better at optimization such as auto
>> vectorizing. Before deciding on mvapich or openmpi you should
>> determine if either has an advantage given your clusters interconnect.
>>
>> The error you report is an issue in Mesa, a syntax error, probably
>> because they used syntax that is not supported by your version of
>> python. I recently encountered similar issues and simply modified the
>> Mesa source code to use the older more universal syntax. You/we should
>> probably complain about this to the Mesa developers since it is a pain
>> the neck!
>>
>> Hope it helps
>> Burlen
>>
>> On 11/01/2011 11:58 AM, Chourasia, Amit wrote:
>>> Hello,
>>>
>>> I am trying to compile paraview for general usage on one of our
>>> clusters at SDSC.
>>> I wanted to ask what are the common paraview installation practices
>>> that are useful for general purpose. I would certainly need to
>>> compile the paraview server
>>>
>>>    1.  Do I compile paraview with OSMesa or Xlib? (X is available on
>>> the cluster, will this require X on client?). Is it better to avoid X?
>>>    2.  Do I compile with QT or without on cluster
>>>    3.  Which compiler and which MPI to use (we have intel and gnu
>>> compilers, MPI, mvapich and openmpi) ?
>>>
>>> I looked at the following page and unsure how to go about this
>>> http://paraview.org/Wiki/ParaView_And_Mesa_3D
>>>
>>> At the moment I am stuck on mesa compilation and the choice I make
>>> here will determine Paraview's compilation.
>>> When I try to compile Mesa-7.11 or Mesa-7.9 I get the following error
>>>
>>> python2 -t -O -O builtins/tools/generate_builtins.py
>>> ./builtin_compiler>  builtin_function.cpp || rm -f builtin_function.cpp
>>>    File "builtins/tools/generate_builtins.py", line 28
>>>      with open(filename) as f:
>>>              ^
>>> SyntaxError: invalid syntax
>>>
>>> I have tried to use
>>> A) make linux-x86_64
>>> B) ./configure --with-driver=xlib
>>> --prefix=/work/achourasia/mesa_build/ --disable-gallium
>>> --with-gallium-drivers=""
>>> If I don¹t pass --disable-gallium  --with-gallium-drivers="" the
>>> configure fails
>>> checking for llvm-config... no
>>> configure: error: LLVM is required to build Gallium R300 on x86 and
>>> x86_64
>>>
>>> Please advice
>>> Thanks
>>> --Amit
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>



More information about the ParaView mailing list