1 Introduction
This page is dedicated to explaining how to build certain dependencies from source code, which swak4Foam might specifically need, in case the system's default versions are incompatible. For example:
- If your system provides Bison 3.0 by default.
- And swak4Foam needs a version of Bison between 2.5 and 2.8.
- Then you'll need to follow the instructions provided in section Bison.
Contents
2 m4
Note: m4 is only needed for building bison from source code.
If m4 is not installed, too old or buggy, then follow these steps... and assuming you already have the necessary utilities for building C and C++ source code, then this should do the trick:
- If not already there, go into swak4Foam's folder:
cd swak4Foam
- Download, unpack, compile and install m4, by running:
wget http://ftpmirror.gnu.org/m4/m4-1.4.17.tar.gz tar -xf m4-1.4.17.tar.gz cd m4-1.4.17 ./configure --prefix $PWD/../m4 make make install cd ..
- Now, before running swak4Foam's script Allwmake or before building Bison, run this command:
export PATH=$PWD/m4/bin:$PATH
Note: If you are not curious about seeing the instructions for building Bison, then check which version you have installed:
bison --version
because versions of Bison 3 and newer are not yet supported for building swak4Foam.
3 Bison
If you already have Bison installed, then check which version you have installed:
bison --version
If not, keep in mind that versions of Bison 3 and newer are not yet supported for building swak4Foam.
There are currently 2 ways to build Bison from source code:
- Manually, when using swak4Foam 0.3.0 and older.
- Nearly automatically, using the script provided in swak4Foam 0.3.1 and newer.
3.1 swak4Foam 0.3.0 and older
Assuming you already have the necessary utilities for building C and C++ source code, then this should do the trick:
- If not already there, go into swak4Foam's folder:
cd swak4Foam
- Download, unpack, compile and install Bison, by running:
wget http://ftpmirror.gnu.org/bison/bison-2.7.tar.gz tar -xf bison-2.7.tar.gz cd bison-2.7 ./configure --prefix $PWD/../bison make make install cd ..
Note: If you have problems during the configure step, check the following link: m4 is not present, too old or buggy
- Now, before running swak4Foam's script Allwmake, run this command:
export PATH=$PWD/bison/bin:$PATH
3.2 swak4Foam 0.3.1 and newer
Assuming you already have the necessary utilities for building C and C++ source code, then this should do the trick:
- If not already there, go into swak4Foam's folder:
cd swak4Foam
- Download, unpack, compile and install Bison, simply by running:
./maintainanceScripts/compileRequirements.sh
Note: If you have problems during the configure step, check the following link: m4 is not present, too old or buggy
- Now you can simply go on with the installation of swak4Foam, since the missing requirements should have been built with success.
4 Specific fixes in OpenFOAM technology source code
4.1 OpenFOAM 4.0
Quoting the README file:
**** Support for OpenFOAM 4.0 This version is supported in this version of OpenFOAM. There is one problem: the released version has two problems that mean that =swak4foam= will *never* compile on the released version. Patches fixing these issues are found in the directory =distroPatches/OpenFOAM-4.0=
4.2 OpenFOAM+ v1606+
Quoting the README file:
**** Support for OpenFOAM v1606+ version This version is supported in the this version of =swak4Foam=. There is only one problem: there were changes to the =tmp=-template. These changes have been taken care of in the =swak4Foam=-sources. *But* there are two source files in the distro that need to be modified (basically adding =.ref()= instead of =()= in three places: : src/finiteVolume/finiteVolume/fvc/fvcD2dt2.C : src/finiteVolume/fvMatrices/fvMatrix/fvMatrixSolve.C Therefor the officially released version will *never* compile with =swak4Foam= but this is nothing that can be fixed in =swak4Foam= (the patch is found in the directory =distroPatches/OpenFOAM-v1606+=)