Installation/Linux/foam-extend-4.0/Ubuntu

From OpenFOAMWiki

1 Introduction

This page is dedicated to preparing an Ubuntu system for installing the foam-extend project OF Version 40ext.png.


2 Ubuntu versions

2.1 Ubuntu 12.04

Run the following commands:

sudo apt-get update
sudo apt-get install git-core build-essential binutils-dev flex bear \
bison zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev libreadline-dev \
libxt-dev rpm mercurial graphviz python python-dev

Then follow the instructions on the previous page, subsection Get the source code, although keep in mind to run the following commands before you run source etc/bashrc:

echo export WM_COMPILER=Gcc49 >> etc/prefs.sh
echo export WM_THIRD_PARTY_USE_GCC_492=1  >> etc/prefs.sh
echo export compilerInstall=FOAM >> etc/prefs.sh

More specifically, the commands should be executed something like this:

cd ~/foam/foam-extend-4.0
 
echo export WM_COMPILER=Gcc49 >> etc/prefs.sh
echo export WM_THIRD_PARTY_USE_GCC_492=1  >> etc/prefs.sh
echo export compilerInstall=FOAM >> etc/prefs.sh
 
source etc/bashrc

2.2 Ubuntu 14.04

Run the following commands:

sudo apt-get update
sudo apt-get install git-core build-essential binutils-dev cmake flex \
bison zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev libiberty-dev \
libxt-dev rpm mercurial graphviz python python-dev

Then continue following the instructions on the previous page, subsection Get the source code.


2.3 Ubuntu 16.04

Run the following commands:

sudo apt-get update
sudo apt-get install git-core build-essential binutils-dev cmake flex \
zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev libiberty-dev \
libxt-dev rpm mercurial graphviz python python-dev

Then follow the instructions on the previous page, subsection Get the source code, although keep in mind to run the following commands before you run source etc/bashrc:

echo export WM_THIRD_PARTY_USE_BISON_27=1  >> etc/prefs.sh

More specifically, the commands should be executed something like this:

cd ~/foam/foam-extend-4.0
 
echo export WM_THIRD_PARTY_USE_BISON_27=1  >> etc/prefs.sh
 
source etc/bashrc


Note: If you are using Ubuntu within WSL, then study this thread: Problems compiling foam-extend-4.0 + fsiFoam on Ubuntu+WSL

2.4 Ubuntu 18.04

Run the following commands:

sudo apt-get update
sudo apt-get install git-core build-essential binutils-dev cmake flex bear \
zlib1g-dev libncurses5-dev libreadline-dev \
libxt-dev rpm mercurial graphviz python python-dev  python3 python3-dev gcc-5 g++-5 \
gnuplot gnuplot-qt gnuplot-data

Then follow the instructions on the previous page, subsection Get the source code, but keep in mind to run a few additional commands before you run source etc/bashrc... More specifically, the commands should be executed something like this:

cd ~/foam/foam-extend-4.0
 
echo export WM_THIRD_PARTY_USE_BISON_27=1  >> etc/prefs.sh
echo "export WM_CC='gcc-5'"  >> etc/prefs.sh
echo "export WM_CXX='g++-5'"  >> etc/prefs.sh
 
source etc/bashrc

Then before running Allwmake.firstInstall, run the following commands:

sed -i -e 's=rpmbuild --define=rpmbuild --define "_build_id_links none" --define=' ThirdParty/tools/makeThirdPartyFunctionsForRPM
sed -i -e 's/gcc/\$(WM_CC)/' wmake/rules/linux64Gcc/c
sed -i -e 's/g++/\$(WM_CXX)/' wmake/rules/linux64Gcc/c++

Now you can start the compilation by issuing:

./Allwmake.firstInstall

This will most likely ask you, if you want to proceed without compiling paraview. I recommend that you answer "Y" and install the current version of paraview separately, since most beginner's problems with the installation of (Open)FOAM are related to the compilation of paraview rather than (Open)FOAM itself.

2.5 Ubuntu 20.04

Ubuntu 20.04 does not supply gcc/g++5 in its repository.

The gcc5 toolchain can be installed from the 18.04 repositories. Be aware that this may break some dependencies in rare cases.

Add the 18.04 universe repository as an apt-source:

 sudo sh -c 'echo deb http://gb.archive.ubuntu.com/ubuntu/ bionic universe > /etc/apt/sources.list.d/bionic_legacy.list'

After that follow instructions for Ubuntu 18.04 above.