diff --git a/README.org b/README.org index 4b1fcfe..302f1ec 100644 --- a/README.org +++ b/README.org @@ -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 diff --git a/etc/patches/paraview-5.1.2 b/etc/patches/paraview-5.1.2 new file mode 100644 index 0000000..9bd8929 --- /dev/null +++ b/etc/patches/paraview-5.1.2 @@ -0,0 +1,13 @@ +--- 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() diff --git a/etc/tools/ThirdPartyFunctions b/etc/tools/ThirdPartyFunctions index 40356ce..61f6030 100644 --- a/etc/tools/ThirdPartyFunctions +++ b/etc/tools/ThirdPartyFunctions @@ -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 diff --git a/makeCGAL b/makeCGAL index 37e3c58..f365036 100755 --- a/makeCGAL +++ b/makeCGAL @@ -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 \ diff --git a/makeParaView b/makeParaView index 3164fde..f0a24af 100755 --- a/makeParaView +++ b/makeParaView @@ -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 diff --git a/makeTecio b/makeTecio index bfa9b13..6ee8132 100755 --- a/makeTecio +++ b/makeTecio @@ -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 \ diff --git a/makeVTK b/makeVTK index 4e084e6..d2b4937 100755 --- a/makeVTK +++ b/makeVTK @@ -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)