Programming:Compiling Paraview 3.8.1 for OS X 10.6.4
in the beginning
Had to install xtools again, even though I thought I had already installed it. This gave me the correct C and C++ compilers.
Download and install cmake and ccmake binary (version 2.8.2).
Did *not* install separate version of VTK. VTK is bundled with Paraview source.
Installed Qt 4.6.2, as the latest version (4.7) was rejected by the compiler. Not sure how to override that.
Downloaded Paraview source code 3.8.1
created a new directory (ParaView-bin) beside the source
$ ls drwxr-xr-x@ 22 thunderrabbit staff 748 Oct 19 12:42 ParaView-3.8.1 -rw-r--r--@ 1 thunderrabbit staff 33123181 Oct 15 12:22 ParaView-3.8.1.tar.gz drwxr-xr-x 28 thunderrabbit staff 952 Oct 19 16:37 ParaView-bin
cd into the directory and run ccmake
$ cd ParaView-bin $ ccmake ../ParaView-3.8.1
You should see a mostly white screen with Empty Cache at the top.
Type c to configure, and after a couple minutes you will see a short list of variables.
adjust ParaView variables in ccmake
Press t when in ccmake to Toggle advanced mode and display all these variables (and many more).
Press C-d to page down and C-u to page up.
Taken from http://www.paraview.org/Wiki/ParaView:Build_And_Install#CMake_Variables, I used these values:
Variable | Value | Description |
BUILD_SHARED_LIBS | ON | Enables shared libraries (unless you are sure you want to do static builds) |
CMAKE_BUILD_TYPE | Release | Unless you want to end up with debug install, set this to Release |
PARAVIEW_USE_MPI | OFF | Unless you are taking extra steps to ensure that the clients have the required MPI libraries, set this to OFF, since ParaView does not include rules to package MPI. |
PARAVIEW_ENABLE_PYTHON | OFF | Unless you are taking extra steps to ensure that clients have the rquired python libraries/modules. |
PARAVIEW_GENERATE_PROXY_DOCUMENTATION | ON | To ensure that the html documentation for the sources/filters/readers/writes is generated and packed into the application, turn the following flag ON. |
PARAVIEW_INSTALL_DEVELOPMENT | ON | To package development files so that people can build plugins/custom-apps using the installation. |
PARAVIEW_BUILD_QT_GUI | ON | To enable building the Qt client |
building
c to configure g to generate and exit
Count how many cpu cores you have on your machine.
Then in your bash_profile or tcshrc or whatever, put this alias:
make='make --jobs=NUM_CORES --load-average=NUM_CORES'
aka
make='make -jNUM_CORES -lNUM_CORES'
This will tell make to use NUM_CORES many jobs when it makes, but not to start any new jobs if the load is already at NUM_CORES.
You might also try this: use NUM_CORES = number of cores + 1, for this reason: much of the compile time for small files is spent writing the object file to the disk, so you can get away with having more jobs than cores because of this. ymmv.
$ make
extra plugin
$ ls -rw-r--r--@ 1 thunderrabbit staff 6148 Oct 15 20:18 .DS_Store drwxrwxr-x 3 thunderrabbit staff 102 Oct 19 09:11 CMakeFiles drwxr-xr-x@ 22 thunderrabbit staff 748 Oct 19 12:42 ParaView-3.8.1 -rw-r--r--@ 1 thunderrabbit staff 33123181 Oct 15 12:22 ParaView-3.8.1.tar.gz drwxr-xr-x 28 thunderrabbit staff 952 Oct 19 16:37 ParaView-bin
$ git clone git://git.cscs.ch/ArrowGlyph.git vtkArrowGlyph $ mkdir vtkArrowGlyph-bin
$ ls -rw-r--r--@ 1 thunderrabbit staff 6148 Oct 15 20:18 .DS_Store drwxrwxr-x 3 thunderrabbit staff 102 Oct 19 09:11 CMakeFiles drwxr-xr-x@ 22 thunderrabbit staff 748 Oct 19 12:42 ParaView-3.8.1 -rw-r--r--@ 1 thunderrabbit staff 33123181 Oct 15 12:22 ParaView-3.8.1.tar.gz drwxr-xr-x 28 thunderrabbit staff 952 Oct 19 16:37 ParaView-bin drwxr-xr-x 9 thunderrabbit staff 306 Oct 19 17:14 vtkArrowGlyph drwxrwxr-x 2 thunderrabbit staff 68 Oct 19 17:14 vtkArrowGlyph-bin
$ cd vtkArrowGlyph-bin $ ccmake ../vtkArrowGlyph
You should see a mostly white screen with Empty Cache at the top.
Type c to configure, and you should get some error messages saying it couldn't find CMAKE_MODULE_PATH.
press e to exit help
arrow down then press return to edit the last item
and fill in ../ParaView-bin
c to configure again, and then g to generate
make
$ pwd ~/yadda/yadda/yadda/paraview/vtkArrowGlyph-bin $ ls total 176 -rw-rw-r-- 1 thunderrabbit staff 176 Oct 19 17:45 ArrowGlyph_plugin.qrc -rw-r--r-- 1 thunderrabbit staff 480 Oct 19 17:36 ArrowGlyph_pluginInit.cxx -rw-r--r-- 1 thunderrabbit staff 4342 Oct 19 17:36 ArrowGlyph_plugin_Plugin.cxx -rw-r--r-- 1 thunderrabbit staff 3813 Oct 19 17:36 ArrowGlyph_plugin_Plugin.h -rw-rw-r-- 1 thunderrabbit staff 35238 Oct 19 17:46 CMakeCache.txt drwxrwxr-x 20 thunderrabbit staff 680 Oct 19 17:45 CMakeFiles -rw-rw-r-- 1 thunderrabbit staff 14196 Oct 19 17:45 Makefile -rw-rw-r-- 1 thunderrabbit staff 2435 Oct 19 17:45 cmake_install.cmake -rw-rw-r-- 1 thunderrabbit staff 406 Oct 19 17:36 vtkArrowGlyphConfigure.h -rw-r--r-- 1 thunderrabbit staff 1074 Oct 19 17:36 vtkSMArrowGlyph_pluginInstantiator.cxx -rw-r--r-- 1 thunderrabbit staff 478 Oct 19 17:36 vtkSMArrowGlyph_pluginInstantiator.h
$ make -- Loading ParaView CMake commands -- Loading ParaView CMake commands - done -- Configuring done -- Generating done -- Build files have been written to: /Users/thunderrabbit/Documents/work/fred/paraview/vtkArrowGlyph-bin [ 9%] Generating moc_ArrowGlyph_plugin_Plugin.cxx [ 18%] Generating qrc_ArrowGlyph_plugin.cxx [ 27%] Generating vtkArrowGlyphFilterClientServer.cxx [ 36%] Generating vtkSMXML_ArrowGlyph_plugin.h -- Generate module: vtkArrowGlyphFilter Scanning dependencies of target ArrowGlyph_plugin [ 45%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/qrc_ArrowGlyph_plugin.cxx.o [ 54%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/vtkArrowGlyphFilter.cxx.o [ 63%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/vtkArrowGlyphFilterClientServer.cxx.o [ 72%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/ArrowGlyph_pluginInit.cxx.o [ 81%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/vtkSMArrowGlyph_pluginInstantiator.cxx.o [ 90%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/ArrowGlyph_plugin_Plugin.cxx.o [100%] Building CXX object CMakeFiles/ArrowGlyph_plugin.dir/moc_ArrowGlyph_plugin_Plugin.cxx.o Linking CXX shared library libArrowGlyph_plugin.dylib [100%] Built target ArrowGlyph_plugin
It should take less than a minute to build; there is only one source file, plus plugin stuff.
load
Once compiled, run paraview,
select Tools -> Manage Plugins
Load New
select “Auto Load” once loaded.
recreate JB's screenshot
You have to be careful to
- choose a time step with meaningful values
- choose variables with sensible ranges.
- If you see nothing, increase the scale factor for the array you selected.