[Paraview] Compiling Paraview on cluster

Burlen Loring bloring at lbl.gov
Thu Nov 3 12:13:12 EDT 2011


  Hi Amit,

Boost is very easy to install, it's only an un tar. Then you can point 
PV to it with -DBOOST_ROOT on your cmake command line.

Does cmake really check environment variables for open gl and mpi paths? 
It's possible however, I've always passed them on the command line. That 
may be your issue, you could look at the CMakeCache.txt to see if it's 
really pickuing those up.

Burlen

On 11/03/2011 09:05 AM, Chourasia, Amit wrote:
> 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
> _______________________________________________
> 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