ParaView:Build And Install
Introduction
This page describes how to build and install ParaView. It covers both the release and the development versions. Also, it covers both Unix-type systems (Linux, HP-UX, Solaris, Mac) as well as Windows.
Prerequisites
The ParaView build process requires CMake version 2.4.5 or higher and a working compiler. On Unix-like operating systems, it also requires Make, while on Windows it requires Visual Studio (6, 7, or 7.1).
Building ParaView's user interface requires Trolltech's Qt, version 4.2.2. Qt is dual licensed. To compile ParaView, either the open or commercial version may be used. If you intend to make changes the ParaView's GUI and distribute the results, you must obtain a commercial license. The open source version of Qt is here [1]. Commercial licenses can be purchased directly from TrollTech [2]. For more information on what can be done with the open source version, read this [3].
In order to run ParaView in parallel, MPI [4], [5] is also required.
In order to use scripting, python is required [6].
Download And Install Cmake
CMake is a tool that makes cross-platform building simple. On several systems it will probably be already installed. If it is not, please use the following instructions to install it. If CMake does not exist on the system, and there are no pre-compiled binaries, use the instructions below on how to build it.
Use Binaries
There are several precompiled binaries available at the CMake download page.
On Unix-like operating systemsLet's say on Linux, download the appropriate version and follow these instructions: cd $HOME wget http://www.cmake.org/files/v2.4/cmake-2.4.5-Linux-i386.tar.gz mkdir software cd software tar xvfz ../cmake-2.4.5-Linux-i386.tar.gz
|
On Windows
On Windows, if you are not administrator
|
Build Your Own CMake
On Unix-like operating systemsDownload the source code http://www.cmake.org/files/v2.4/cmake-2.4.5.tar.gz cd $HOME wget http://www.cmake.org/files/v2.4/cmake-2.4.5.tar.gz tar xvfz cmake-2.4.5.tar.gz mkdir cmake-2.4.5-bin cd cmake-2.4.5-bin ../cmake-2.4.5/bootstrap --prefix=$HOME/software make make install
|
On WindowsTo build CMake on windows, a previous version of CMake is required. This can be downloaded from the CMake download page. |
Build ParaView
Download ParaView Source Code
If you are trying to build a ParaView release, download it from the release page. For the development version, please follow the instructions below for checking it out from CVS.
Download The Release
You can always download the binaries from ParaView download page. This page contains binaries for several platforms and the source code for the releases.
Checkout Development Version from CVS
On Unix-like operating systemsmkdir $HOME/projects cd $HOME/projects cvs -d:pserver:anoncvs@www.paraview.org:/cvsroot/ParaView login <enter> cvs -d:pserver:anoncvs@www.paraview.org:/cvsroot/ParaView co ParaView |
On WindowsIf you have Cygwin or Mingw shell, then use them, and follow the instructions for Unix-like oprating systems. If you are on Windows and do not have Cygwin or Mingw shell, please download a CVS client. We recommend TortoiseCVS, which is a GUI for CVS on Windows. |
Configure ParaView With CMake
- Always use a separate build directory. Do not build in the source directory.
On Unix-like systems
mkdir $HOME/projects/ParaView-bin cd $HOME/projects/ParaView-bin ccmake $HOME/projects/ParaView About CCMake (Curses CMake GUI)
|
On Windows
About CMakeSetup (Windows CMake GUI)
|
ParaView Settings
Variable | Description |
QT_QMAKE_EXECUTABLE | Path to Qt's qmake executable (such as /usr/local/Trolltech/Qt-4.2.2/bin/qmake). Cmake uses this to locate the rest of the required Qt executables, headers and libraries. |
BUILD_SHARED_LIBS | If ON, use shared libraries. This way executables are smaller, but you have to make sure the shared libraries are on every system on the cluster. |
VTK_USE_MPI | Turn this to ON to enable MPI. Other MPI options will not be available until you turn this on. |
MPI_LIBRARY | Path to the MPI library (such as /usr/lib/libmpi.so). Should be found by default, but you may have to set it. |
MPI_EXTRA_LIBRARY | Path to extra MPI library (such as /usr/lib/libmpi++.so). If the MPI distribution is MPICH, this may not be found; in this case, it is ok for this variable to be set to MPI_EXTRA_LIBRARY-NOTFOUND. |
MPI_INCLUDE_PATH | Path to MPI includes (such as /usr/include/mpi). Again, this should be found by default. |
PARAVIEW_ENABLE_PYTHON | Makes python client scripting and the python programmable filter available. |
VTK_USE_CARBON | For Mac, this is the default. Neither X11 nor COCOA frameworks are supported. |
Finish Configuring ParaView
Using CCMake
|
Using CMakeSetup
|
Build ParaView
You can now build ParaView using the appropriate build system.
Using MakeCMake will now generate Make files. These makefiles have all dependencies and all rules to build ParaView on this system. You should not however try to move the build directory to another location on this system or to another system. Once you have makefiles you should be able to just type: make
make -j 4 |
Using Visual StudioCMake will now create Visual Studio project files. You should now be able to open the ParaView project (or workspace) file. Make sure to select the appropriate build type (Debug, Release, ...). To build ParaView, simply build the ALL_BUILD target. If you run into an error that looks like this: 2>------ Build started: Project: QtChart, Configuration: Debug Win32 ------ 2>Compiling... 2>pqSimpleLineChartSeries.cxx 2>c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error C2244: 'QMultiMap<Key,T>::replace' : unable to match function definition to an existing declaration 2> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891) : see declaration of 'QMultiMap<Key,T>::replace' 2> definition 2> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key &,const T &)' 2> existing declarations 2> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key &,const T &)' You must either apply a patch to visual studio [7] to fix its template parsing, or change the qhash.h and qmap.h header files in your Qt instalation directory like so: //was: // inline QHash<Key, T>::iterator replace(const Key &key, const T &value); // inline QHash<Key, T>::iterator insert(const Key &key, const T &value); //now: typedef QHash<Key, T>::iterator iterator; inline typename iterator replace(const Key &key, const T &value); inline typename iterator insert(const Key &key, const T &value); ... //was: //Q_INLINE_TEMPLATE Q_TYPENAME QHash<Key, T>::iterator QMultiHash<Key, T>::replace(const Key &akey, const T &avalue) //now: Q_INLINE_TEMPLATE Q_TYPENAME QMultiHash<Key, T>::iterator QMultiHash<Key, T>::replace(const Key &akey, const T &avalue) ... //was: //Q_INLINE_TEMPLATE Q_TYPENAME QHash<Key, T>::iterator QMultiHash<Key, T>::replace(const Key &akey, const T &avalue) //now: Q_INLINE_TEMPLATE Q_TYPENAME QMultiHash<Key, T>::iterator QMultiHash<Key,T>::replace(const Key &akey, const T &avalue) |
Install ParaView
ParaView can be run directly from the build directory. That said, for production environments, it should be installed in some system location.
Using MakeOn Unix-like operating systems, the install location is /usr, /usr/local, /opt, or something similar. To install ParaView, simply run: make install Make sure to have write access to this location. If you do not, it may be necessary to run install as an administrator. For example, on Unix you would do something like: su <root password> make install |
Using Visual StudioOn Windows, this location is something like c:\Program Files\ParaView. To install ParaView, simply run INSTALL target within the build system. |
Notes
Compiling on the Mac
To compile on the Mac, follow the instructions for Unix. The recommended configuration settings are: VTK_USE_CARBON=ON, BUILD_SHARED_LIBS=ON, VTK_USE_RPATH=ON
Environment Variables
On Windows, you must add Qt to you path. On way to do so is to open up the PATH dialog by clicking through Start->Control Panel->System->Advanced->Environment Variables. Then adding a new user variable called PATH with a value of C:\Qt\4.2.2\bin.