View Issue Details

IDProjectCategoryView StatusLast Update
0003500OpenFOAMPatchpublic2020-06-09 10:41
Reporterwyldckat Assigned Towill  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0003500: Missing touches on the update to the new CGAL and Boost header-only method
DescriptionFollowing up on issues, 3439 and 3496, there are a couple of details that need tweaking:

1- README in ThirdParty should mention Boost 1.72 as the minimum. I haven't confirmed what is the actual minimum, but it was the one closest to the latest CGAL releases and builds with header's only.

2- "wmake/rules/General/CGAL" is still referring to Boost's include folder, which is no longer used in the header-only mechanism, given that no script is now provided/needed to build Boost.

Attached are the following files:
- README-dev_v1.patch - patch file indicating the line changed in the "ThirdParty-dev/README.org" file regarding Boost version.

- ThirdParty_dev_README.org - the actual "ThirdParty-dev/README.org" already updated.

- wmake_rules_General_CGAL - The "wmake/rules/General/CGAL" file already updated for Boost in header only mode (i.e. without "/include" folder).

- wmake_rules_General_CGAL-dev.patch - The respective patch file.

Both are indexed to OpenFOAM-dev, but the patches should be applicable to OpenFOAM-7 and ThirdParty-7.
Additional InformationTechnically, the inclusion path defined in wmake's "CGAL" file, could also include the "/include" path for Boost, but this way it enforces the more recent versions of Boost.
TagsNo tags attached.

Relationships

related to 0003439 closedwill ThirdParty boost command change in makeCGAL script 
related to 0003496 closedwill OpenFOAM foamyHexMesh does not compile, failing CGAL include 

Activities

wyldckat

2020-06-01 11:21

updater  

README-dev_v1.patch (581 bytes)   
diff --git a/README.org b/README.org
index d42a23c..511e261 100644
--- a/README.org
+++ b/README.org
@@ -49,7 +49,7 @@
     + wmRefresh
 *** CGAL
     + CGAL        https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-5.0.2/CGAL-5.0.2.tar.xz
-    + boost       https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download
+    + boost       https://sourceforge.net/projects/boost/files/boost/1.72.0/boost_1_72_0.tar.bz2/download
 *** Miscellaneous
     + libccmio    https://portal.nersc.gov/svn/visit/trunk/third_party/libccmio-2.6.1.tar.gz
 
README-dev_v1.patch (581 bytes)   
ThirdParty_dev_README.org (2,688 bytes)   
#                            -*- mode: org; -*-
#
#+TITLE:              OpenFOAM-dev Third-Party packages
#+AUTHOR:                  The OpenFOAM Foundation
#+DATE:                       5th July 2019
#+LINK:                     http://www.openfoam.org
#+OPTIONS: author:nil ^:{}
# Copyright (c) 2014-2018 OpenFOAM Foundation.

* Description
  Scripts for building third-party packages.
* [[https://openfoam.org/download/source/third-party-software/][Download and installation instructions]]
* Order of execution:
  + makeGcc   (recommended if the system gcc is < 4.8)
  + Allwmake  (Builds OpenMPI, Scotch etc.)
  + makeCmake (if the system cmake version is < 3.3.0)
  + makeParaView
*** Optional
    + AllwmakeLibccmio (Only required for conversion of STAR-CCM+ meshes)
    + Allclean (Only required to save disk space)
* Versions and locations to download the third party packages
*** Gcc C++ Compiler
    The minimum version of gcc required is 4.8.0
    + gcc   https://gcc.gnu.org/releases.html
    + gmp   https://gmplib.org/
            https://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2
    + mpfr  https://www.mpfr.org/
            https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.bz2
    + mpc   http://www.multiprecision.org/
            https://ftp.gnu.org/gnu/mpc/mpc-1.0.1.tar.gz
*** Parallel Processing
***** Scotch
      Scotch-6.0.9 is provided with ThirdParty-dev or the original source pack
      may be obtained from:
      + Scotch/PtScotch: https://gforge.inria.fr/frs/download.php/file/38187/scotch_6.0.9.tar.gz
***** OpenMPI
      + OpenMPI: https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2
*** ParaView
    If the system cmake version is < 3.3.0 you will need to download and build a
    recent version:
    + cmake          https://www.cmake.org/files/v3.9/cmake-3.9.0.tar.gz
    + ParaView-5.6.3 http://www.paraview.org/files/v5.6/ParaView-v5.6.3.tar.gz
    is downloaded automatically and compiles without modification.  ParaView is
    compiled by running the =makeParaView= script, i.e.
    + ./makeParaView
    Expect ParaView to take a long time to compile, typically several hours on a
    desktop computer.  Following compilation, update the environment by sourcing
    the .bashrc (or .cshrc) file or by typing
    + wmRefresh
*** CGAL
    + CGAL        https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-5.0.2/CGAL-5.0.2.tar.xz
    + boost       https://sourceforge.net/projects/boost/files/boost/1.72.0/boost_1_72_0.tar.bz2/download
*** Miscellaneous
    + libccmio    https://portal.nersc.gov/svn/visit/trunk/third_party/libccmio-2.6.1.tar.gz

# --------------------------------------------------------------------------
ThirdParty_dev_README.org (2,688 bytes)   
wmake_rules_General_CGAL (2,436 bytes)   
#----------------------------------*-sh-*--------------------------------------
# =========                 |
# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
#  \\    /   O peration     | Website:  https://openfoam.org
#   \\  /    A nd           | Copyright (C) 2014-2018 OpenFOAM Foundation
#    \\/     M anipulation  |
#------------------------------------------------------------------------------
# License
#     This file is part of OpenFOAM.
#
#     OpenFOAM is free software: you can redistribute it and/or modify it
#     under the terms of the GNU General Public License as published by
#     the Free Software Foundation, either version 3 of the License, or
#     (at your option) any later version.
#
#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
#     for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
#
# File
#     etc/config.sh/CGAL
#
# Description
#     Configuration file for BOOST and CGAL include/libraries.
#     Sourced from OpenFOAM-<VERSION>/etc/bashrc
#
#     If using system-wide installations use the following version settings:
#
#         boost_version=boost_1_55_0
#         cgal_version=CGAL-4.10
#
#------------------------------------------------------------------------------

boost_version=boost_1_55_0
cgal_version=CGAL-4.10
#cgal_version=CGAL-4.10

thirdPartyPath=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER

if [ "$boost_version" != "boost-system"  ]
then
    export BOOST_ARCH_PATH=$thirdPartyPath/$boost_version
    if [ -d "$BOOST_ARCH_PATH" ]
    then
        _foamAddLib $BOOST_ARCH_PATH/lib
    fi
else
    unset BOOST_ARCH_PATH
fi

if [ "$cgal_version" != "cgal-system" ]
then
    export CGAL_ARCH_PATH=$thirdPartyPath/$cgal_version
    if [ -d "$CGAL_ARCH_PATH" ]
    then
        _foamAddLib $CGAL_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH
    fi
else
    unset CGAL_ARCH_PATH
fi

if [ "$FOAM_VERBOSE" -a "$PS1" ]
then
    echo "Using BOOST and CGAL" 1>&2
    echo "    $boost_version at $BOOST_ARCH_PATH" 1>&2
    echo "    $cgal_version at $CGAL_ARCH_PATH" 1>&2
fi

unset thirdPartyPath

#------------------------------------------------------------------------------
wmake_rules_General_CGAL (2,436 bytes)   
wmake_rules_General_CGAL-dev.patch (391 bytes)   
diff --git a/wmake/rules/General/CGAL b/wmake/rules/General/CGAL
index 7844245..2693ba7 100644
--- a/wmake/rules/General/CGAL
+++ b/wmake/rules/General/CGAL
@@ -3,7 +3,7 @@ CGAL_INC = \
     -I$(CGAL_ARCH_PATH)/include \
     -I$(MPFR_ARCH_PATH)/include \
     -I$(GMP_ARCH_PATH)/include \
-    -I$(BOOST_ARCH_PATH)/include \
+    -I$(BOOST_ARCH_PATH) \
     -I/usr/include
 
 CGAL_LIBS = \

will

2020-06-09 09:11

manager   ~0011389

Last edited: 2020-06-09 09:11

I don't know what the actual minimum boost is either, but I've tested building against CGAL-4.10 with boost-1.58.0 in Ubuntu 16.04. You're right, though that the README should list a current version to match what is listed for CGAL (5.0.2). I've tested boost-1.71, so that or your suggestion of 1.72 should be fine. I'll apply the patch.

wmake/rules/General/CGAL refers to boost's include directory because it is used in the header-only mechanism. It's the lib directory that isn't used any more. The include directory has moved (it's just in the top level ThirdParty-dev now, not in platforms, as we don't build or install anything), but I believe it is still needed.

Saying that, I haven't tested a build against anything other than a system boost. I'll give it a go this morning and confirm either way.

will

2020-06-09 10:41

manager   ~0011390

I've done a build with non-system boost now. I see what you mean about boost's "include" subdirectory (or lack thereof) now. I've fixed "wmake/rules/General/CGAL" accordingly. Links have also been updated in the README-s as you suggested. Thanks for the report.

https://github.com/OpenFOAM/OpenFOAM-7/commit/f440844a5b782709c38b4c0deb8c93f25ede14a7
https://github.com/OpenFOAM/ThirdParty-7/commit/d7636a04b51086ede89ccf01891dd91a23cbe8da
https://github.com/OpenFOAM/OpenFOAM-dev/commit/7dd592ff4013fc6e444f27b12ff8729774cb5e0f
https://github.com/OpenFOAM/ThirdParty-dev/commit/f83b1b65b48f3ac35ca69677e392ce78315095ae

Issue History

Date Modified Username Field Change
2020-06-01 11:21 wyldckat New Issue
2020-06-01 11:21 wyldckat Status new => assigned
2020-06-01 11:21 wyldckat Assigned To => will
2020-06-01 11:21 wyldckat File Added: README-dev_v1.patch
2020-06-01 11:21 wyldckat File Added: ThirdParty_dev_README.org
2020-06-01 11:21 wyldckat File Added: wmake_rules_General_CGAL
2020-06-01 11:21 wyldckat File Added: wmake_rules_General_CGAL-dev.patch
2020-06-01 11:21 wyldckat Relationship added related to 0003439
2020-06-01 11:21 wyldckat Relationship added related to 0003496
2020-06-09 09:11 will Note Added: 0011389
2020-06-09 09:11 will Note Edited: 0011389
2020-06-09 10:41 will Status assigned => resolved
2020-06-09 10:41 will Resolution open => fixed
2020-06-09 10:41 will Fixed in Version => 7
2020-06-09 10:41 will Note Added: 0011390