Commit e2534597 authored by mark's avatar mark
Browse files

COMP: Ensure makeParaView works for current and upcoming paraview (issue #10)

- minor patching is still required for 5.1.2 (July 2016 release).

- no patching is currently needed for 5.2.0-RC4.
  We have supplied the necessary patches upstream.

    - https://gitlab.kitware.com/paraview/paraview/merge_requests/1022
    - https://gitlab.kitware.com/paraview/paraview/merge_requests/1024
parent ecab02b5
......@@ -2,7 +2,7 @@
#
#+TITLE: OpenFOAM Third-Party packages
#+AUTHOR: The OpenFOAM Foundation / OpenCFD Ltd.
#+DATE: 2016-10-14
#+DATE: 2016-11-11
#+LINK: http://www.openfoam.org
#+OPTIONS: author:nil ^:{}
# Copyright (c) 2014-2016 OpenFOAM Foundation.
......@@ -40,6 +40,8 @@
+ cmake http://www.cmake.org/files/v3.5/cmake-3.5.2.tar.gz
+ ParaView-4.4.0 http://www.paraview.org/files/v4.4/ParaView-v4.4.0-source.tar.gz
+ ParaView-5.0.1 http://www.paraview.org/files/v5.0/ParaView-v5.0.1-source.tar.gz
+ ParaView-5.1.2 http://www.paraview.org/files/v5.1/ParaView-v5.1.2.tar.gz
+ ParaView-5.2.0 http://www.paraview.org/files/v5.2/ParaView-v5.2.0.tar.gz
but may need patching to compile (See [[Notes]]).
*** ADIOS
+ https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz
......@@ -50,6 +52,7 @@
*** Miscellaneous
+ FFTW http://www.fftw.org/fftw-3.3.4.tar.gz
+ libccmio http://portal.nersc.gov/svn/visit/trunk/third_party/libccmio-2.6.1.tar.gz
+ tecio http://www.tecplot.com/my/tecio-library/ (needs registration)
* Notes
*** Building ADIOS
+ Currently requires GNU autoconf tools (eg, autoconf, autoheader, automake)
......@@ -58,45 +61,18 @@
*** Building Scotch
+ The zlib library and zlib development headers are required.
* Notes
*** Building ParaView-4.3.1/4.4.0/5.0.0/5.0.1
The ParaView-4.3.1/4.4.0/5.0.0 source-pack provided by KitWare will not
build and install correctly without a minor correction: lines 653-656
(650-653 in ParaView-5.0.0, 659-662 in ParaView-5.0.1) must be removed or
commented from file
/ThirdParty-???/ParaView-[45].?.?/Qt/Components/CMakeLists.txt/ after
unpacking and renaming the ParaView-[45].?.? directory. This is because the
file ui_pqExportStateWizard.h referred to in
#+begin_src C
if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
endif()
#+end_src
does not exist and cannot be installed causing the build and installation to
fail.
Additionally for ParaView-4.4.0 there is a bug in the STL reader.
(see http://www.openfoam.org/mantisbt/view.php?id=1887).
For ParaView-4.4.0 and ParaView-5.0.1,
the necessary patches are supplied with the ThirdParty repository
(see the etc/patches directory) and are applied when building paraview.
*** Building ParaView-5.0.1 with gcc-6.1.0
***** Add support for gcc-6.?.?
The following cmake files
+ ParaView-5.0.1/VTK/CMake/vtkCompilerExtras.cmake
+ ParaView-5.0.1/VTK/CMake/GenerateExportHeader.cmake
specifically limit the gcc versions supported.
To add support gcc-6.?.? replace the '[345]' with '[3456]'.
This patch is also supplied with the ThirdParty repository and
applied when building paraview.
*** Building ParaView-4.4.0/5.0.0/5.0.1/5.1.2
If using makeParaView, the following patches will be automatically
applied (see the etc/patches directory):
+ Bugfix for STL reader - affects 4.4.0 only.
+ Broken installation [ui_pqExportStateWizard.h] - affects 4.4.0/5.0.0/5.0.1/5.1.x
+ Building with gcc-6.1.0 - affects 4.4.0/5.0.0/5.0.1 (patch applied for 5.0.1)
***** SciberQuestToolKit
The SciberQuestToolKit plugin fails to compile with gcc-6.1.0 and causes
the compilation of ParaView to halt. The easiest solution is to delete
the ParaView-5.0.1/Plugins/SciberQuestToolKit directory.
*** Building ParaView-5.2.0
Now compiles without patching.
*** Building ParaView-4.1.0
On Ubuntu 14.10 and higher, OpenSuSE 13.2 and probably other recent
GNU/Linux distributions there is an issue in the GL libraries requiring a
......
--- ParaView-5.1.2/Qt/Components/CMakeLists.txt.orig 2016-07-26 21:52:16.000000000 +0200
+++ ParaView-5.1.2/Qt/Components/CMakeLists.txt 2016-11-11 14:41:19.395242358 +0100
@@ -590,8 +590,8 @@
#the pqSGExportStateWizard has subclasses that directly access
#the UI file, and currently we don't have a clean way to break this hard
-#dependency, so for no we install this ui file.
-if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
+#dependency, so for now we manually install this ui file.
+if(PARAVIEW_INSTALL_DEVELOPMENT_FILES AND PARAVIEW_ENABLE_PYTHON)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
endif()
......@@ -89,6 +89,7 @@ _foamIsSystem()
# try to locate cmake according to the CMAKE_PATH
# or just use what is found in the path
#
unset CMAKE_PATH # clear when first loaded
findCMake()
{
local candidate
......@@ -157,6 +158,7 @@ NOT_FOUND
# try to locate qmake according to the QMAKE_PATH
# or just use what is found in the path
#
unset QMAKE_PATH # clear when first loaded
findQtMake()
{
local candidate
......
......@@ -67,6 +67,7 @@ usage() {
usage: $Script [OPTION] [CGAL-VERSION] [boost-VERSION] [gmp-VERSION] [mpfr-VERSION]
options:
-cmake PATH with cmake from the path given
-gcc force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
-system use system versions for boost/gmp/mpfr
-help
......@@ -86,7 +87,6 @@ USAGE
exit 1
}
#------------------------------------------------------------------------------
# Ensure CMake gets the correct C/C++ compiler
[ -n "$WM_CC" ] && export CC="$WM_CCX"
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
......@@ -105,6 +105,11 @@ do
export CC=gcc # use gcc/g++
export CXX=g++
;;
-cmake)
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
CMAKE_PATH="${2%%/}"
shift
;;
-sys*)
gmpPACKAGE="gmp-system"
mpfrPACKAGE="mpfr-system"
......@@ -387,11 +392,13 @@ CMAKE_OPTIONS
echo " system : mpfr"
fi
cmake=$(findCMake)
# For CGAL < 4.9, for installation into lib64/, not lib/
# Name only (not path) for CGAL_INSTALL_LIB_DIR
echo "----"
set -x
cmake \
$cmake \
-DCMAKE_INSTALL_PREFIX=$CGAL_ARCH_PATH \
-DCGAL_INSTALL_LIB_DIR=lib$WM_COMPILER_LIB_ARCH \
-DCMAKE_BUILD_TYPE=Release \
......
......@@ -106,7 +106,7 @@ options:
-mpi=NPROCS with mpi and max 'NPROCS' processes. NPROCS=0 for no
upper-limit on processes.
-python with python (if not already enabled)
-cmake PATH with the cmake version corresponding to the cmake path given
-cmake PATH with cmake from the path given
-qmake PATH with the Qt version corresponding to the qmake path given
-qt with extra Qt gui support (if not already enabled)
-qt-VER with Qt version corresponding to
......
......@@ -65,7 +65,8 @@ usage()
Usage: ${0##*/} [OPTION] [boost-VERSION] [tecio-VERSION]
options:
-gcc Force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
-cmake PATH with cmake from the path given
-gcc force gcc/g++ instead of the values from \$WM_CC, \$WM_CXX
-help
......@@ -93,6 +94,11 @@ do
export CC=gcc # use gcc/g++
export CXX=g++
;;
-cmake)
[ "$#" -ge 2 ] || die "'$1' option requires an argument"
CMAKE_PATH="${2%%/}"
shift
;;
boost-[0-9]* | boost_[0-9]* | boost-system )
boostPACKAGE="${1%%/}"
;;
......@@ -168,9 +174,11 @@ then
echo " Boost : system"
fi
cmake=$(findCMake)
echo "----"
set -x
cd $TECIO_BINARY_DIR && cmake \
cd $TECIO_BINARY_DIR && $cmake \
-DCMAKE_INSTALL_PREFIX=$TECIO_ARCH_PATH \
-DCMAKE_BUILD_TYPE=Release \
-DBoost_INCLUDE_DIR=$boostInc \
......
......@@ -89,7 +89,7 @@ options:
-mpi=NPROCS with mpi and max 'NPROCS' processes. NPROCS=0 for no
upper-limit on processes.
-osmesa with off-screen mesa only
-cmake PATH with the cmake version corresponding to the cmake path given
-cmake PATH with cmake from the path given
-gcc force g++ instead of the value from \$WM_CXX
-verbose verbose output in Makefiles
-version VER specify an alternative version (current value: $VTK_VERSION)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment