Table of Contents:
When you wish to deploy a plugin that works with the KitWare release of ParaView, you must build a special version of ParaView: the Super Build.
I typically use the GNU compilers (gcc, g++, gfortran or g77) for everything. You also need a recent copy of cmake. On Mac OS-X systems, you need to install a recent version of XCode.
Here's a cheat sheet on how to build the SuperBuild.
git clone git://paraview.org/ParaViewSuperbuild.git
mkdir ~/ParaView-4.0.1_OSX-10.7 cd ~/ParaView-4.0.1_OSX-10.7
mkdir ~/ParaView-4.0.1_Linux-x86_64 cd ~/ParaView-4.0.1_Linux-x86_64
ccmake ../src/ParaViewSuperbuild/ -DENABLE_boost=on -DENABLE_diy=ON -DENABLE_freetype=ON -DENABLE_hdf5=ON -DENABLE_libxml2=ON -DENABLE_matplotlib=ON -DENABLE_numpy=ON -DENABLE_paraview=ON -DENABLE_png=ON -DENABLE_python=ON -DENABLE_qhull=ON -DENABLE_qt=ON -DENABLE_szip=ON -DENABLE_zlib=ON
$PYTHONPATH
environment variable is unset prior to running cmake
& gmake
. You may need to wipe your build directory prior to re-configuring (with cmake) and compiling (with gmake) to get around the error(s).[ 20%] Performing install step for 'szip' Making install in src /bin/sh ../libtool --mode=install /opt/share/idl/idl/bin/install -c 'libsz.la' '/export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib/libsz.la' /opt/share/idl/idl/bin/install -c .libs/libsz.so.2.0.0 /export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib/libsz.so.2.0.0 The current directory must be set to the ITT directory. Change the default to the ITT directory and re-run this script. gmake[5]: *** [install-libLTLIBRARIES] Error 1 gmake[4]: *** [install-am] Error 2 gmake[3]: *** [install-recursive] Error 1 gmake[2]: *** [szip/src/szip-stamp/szip-install] Error 2 gmake[1]: *** [CMakeFiles/szip.dir/all] Error 2
/usr/bin/g77 -g -Wall -L/export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib build/temp.linux-x86_64-2.7/numpy/linalg/lapack_litemodule.o build/temp.linux-x86_64-2.7/numpy/linalg/python_xerbla.o -L/usr/lib64 -L/export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib -Lbuild/temp.linux-x86_64-2.7 -llapack -lblas -lpython2.7 -lg2c -o build/lib.linux-x86_64-2.7/numpy/linalg/lapack_lite.so /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libfrtbegin.a(frtbegin.o): In function `main': (.text+0x1e): undefined reference to `MAIN__' collect2: ld returned 1 exit status error: Command "/usr/bin/g77 -g -Wall -L/export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib build/temp.linux-x86_64-2.7/numpy/linalg/lapack_litemodule.o build/temp.linux-x86_64-2.7/numpy/linalg/python_xerbla.o -L/usr/lib64 -L/export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib -Lbuild/temp.linux-x86_64-2.7 -llapack -lblas -lpython2.7 -lg2c -o build/lib.linux-x86_64-2.7/numpy/linalg/lapack_lite.so" failed with exit status 1 /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libfrtbegin.a(frtbegin.o): In function `main': (.text+0x1e): undefined reference to `MAIN__' collect2: ld returned 1 exit status CMake Error at /export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/pv-numpy-build.cmake:26 (message): Failed!!! gmake[2]: *** [numpy/src/numpy-stamp/numpy-build] Error 1 gmake[1]: *** [CMakeFiles/numpy.dir/all] Error 2 gmake: *** [all] Error 2
File "numpy/core/setup.py", line 41, in check_types out = check_types(*a, **kw) File "numpy/core/setup.py", line 271, in check_types "Cannot compile 'Python.h'. Perhaps you need to "\ SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. CMake Error at /Users/wiltbemj/src/ParaView-4.0.1_OSX-10.7/pv-numpy-build.cmake:26 (message): Failed!!! gmake[2]: *** [numpy/src/numpy-stamp/numpy-build] Error 1 gmake[1]: *** [CMakeFiles/numpy.dir/all] Error 2 gmake: *** [all] Error 2
ccmake
and update CMAKE_C_FLAGS
to be -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include
81%] Performing build step for 'qt' LD_LIBRARY_PATH = /export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/install/lib:/opt/local/pgi-9.04/linux86-64/9.0/lib:/opt/local/pgi-9.04/linux86-64/9.0/mpi/mpich/lib:/home/schmitt/opt/64/mplayer/lib::/home/schmitt/opt/64/lib:/home/schmitt/opt/64/lib64:/opt/local/pgi-9.04/linux86-64/9.0/lib:/opt/local/pgi-9.04/linux86-64/9.0/mpi/mpich/lib:/home/schmitt/opt/64/mplayer/lib::/home/schmitt/opt/64/lib:/home/schmitt/opt/64/lib64 /usr/bin/ld: warning: libQtCLucene.so.4, needed by /export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/qt/src/qt-build/lib/libQtHelp.so, not found (try using -rpath or -rpath-link) /export/data1/schmitt/paraview/opt/ParaView-4.0.1-Linux_x86_64/build/qt/src/qt-build/lib/libQtHelp.so: undefined reference to `QCLuceneIndexWriter::setMergeFactor(int)' ...
The LFM plugin is distributed with Geospace/Heliosphere Observation & Simulation Tool-kit (GHOST-kit) developed by Josh Murphy & Peter Schmitt.
The "newCMAKE" branch will automagically download & build all the prerequisites required by GHOST. However, this hasn't been merged to master (similar to trunk in SVN parlance). Until Josh has a stable version, you will need to manually build the following prerequisites for LFM and Enlil plugins:
You only need the static (.a) not dynamic (.so or *.dylib) versions of these libraries! If you only build the dynamic version, then other users might get run-time errors about missing libraries. It's easiest to package everything together with the static libraries.
Here's how you build the plugin:
git clone https://github.com/ghost-kit/GHOST.git
mkdir GHOST/build cd GHOST/build
cmake .. -DParaView_DIR=/Users/schmitt/paraview/opt/ParaView-3.98.1_OSX-10.7/paraview/src/paraview-build -DGHOST_BUILD_CDAWEB=OFF
gmake
gmake dist
Now you should be ready to load the plugin into ParaView.