Difference between revisions of "Installation/Linux/foam-extend-3.0/Ubuntu"

From OpenFOAMWiki
(Kicked off this page)
 
(sudo apt-get update)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Introduction =
 
= Introduction =
This page is dedicated to explaining how to install {{-Extend}} {{version3.0-ext}} in [http://www.ubuntu.com Ubuntu].
+
This page is dedicated to preparing an [http://www.ubuntu.com Ubuntu] system for installing {{-Extend}} {{version3.0-ext}}.
 
+
If you do not yet feel comfortable using Linux, then perhaps you better first read the page [[Installation/Working with the Shell|Working with the Shell]] and train a bit with the shell/terminal environments, so you can have a better perception of the steps shown below.
+
  
 
__FORCETOC__
 
__FORCETOC__
 
__TOC__
 
__TOC__
  
= ''Copy-Paste'' steps =
+
= Ubuntu versions =
 
+
A few notes before you start copy-pasting:
+
 
+
# Lines that start with <tt>#</tt> don't have to be ''copy-pasted''. They are just comments to let you know what's going on.
+
# One wrong character is enough for breaking this guide, so make sure you can read the characters properly or that the installed language system does not break the copied characters!
+
 
+
 
+
== Ubuntu 10.04 ==
+
 
+
Here you have at least one choice:
+
* You can install from source, by:
+
** Following the official instructions from one of these repositories:
+
*** [http://sourceforge.net/p/openfoam-extend/OpenFOAM-1.6-ext/ci/master/tree/doc/buildInstructions/Ubuntu/10.04/ Building Instructions for Ubuntu 10.04 at the official Extend repository]
+
*** [http://repo.or.cz/w/openfoam-extend-OpenFOAM-1.6-ext.git/tree/master:/doc/buildInstructions/Ubuntu/10.04 Building Instructions for Ubuntu 10.04 at repo.or.cz mirror]
+
*** [https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext/tree/master/doc/buildInstructions/Ubuntu/10.04 Building Instructions for Ubuntu 10.04 at Unofficial-Extend-Project-Mirror@github mirror]
+
*** '''Note''': Before following any of the instructions above, check the section [[../#Note regarding foam-extend-3.0|Note regarding foam-extend-3.0]]
+
 
+
  
 
== Ubuntu 12.04 ==
 
== Ubuntu 12.04 ==
 
+
Run the following commands:
Here you have a few choices:
+
<bash>sudo apt-get update
* You can install from source, by either:
+
sudo apt-get install git-core build-essential binutils-dev flex \
** Following the available official instructions at the auxiliary project page: [http://wikki.gridcore.se/foam-extend/download Download & Install at wikki.gridcore.se]
+
bison zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \
** Following the available official instructions from one of these repositories:
+
libxt-dev rpm mercurial graphviz
*** [http://sourceforge.net/p/openfoam-extend/OpenFOAM-1.6-ext/ci/master/tree/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at the official Extend repository]
+
*** [http://repo.or.cz/w/openfoam-extend-OpenFOAM-1.6-ext.git/tree/master:/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at repo.or.cz mirror]
+
*** [https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext/tree/master/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at Unofficial-Extend-Project-Mirror@github mirror]
+
*** '''Note''': Before following any of the instructions above, check the section [[../#Note regarding foam-extend-3.0|Note regarding foam-extend-3.0]]
+
** Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...
+
 
+
'''WARNING: These instructions are still being written and tested out.'''
+
 
+
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
 
+
Steps:
+
<ol>
+
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
<bash>sudo -s
+
 
+
#if the 'sudo' command tells you're not in the sudoers list,
+
#then remove the # from the next line:
+
#su -
+
 
+
#these 3 lines count as a single line, due to the blackslash "\" character
+
apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
+
openmpi-bin libopenmpi-dev paraview libstdc++5
+
 
+
exit</bash></li>
+
<li>Set-up the base folder where foam-extend-3.0 will be installed (here you can copy-paste all in single go):
+
<bash>cd ~
+
mkdir foam
+
cd foam
+
</bash></li>
+
 
+
<li>The next command will depend on the repository mirror you want to use:
+
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Extend's official repository (''https'' mode, if you're behind a firewall): <bash>git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository: <bash>git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror Unofficial-Extend-Project-Mirror@github repository: <bash>git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
</li>
+
 
+
<li>After the cloning is complete, go into the cloned folder:
+
<bash>cd foam-extend-3.0</bash></li>
+
 
+
<li>Configure the preferences file:
+
<bash>cp etc/prefs.sh-EXAMPLE etc/prefs.sh
+
 
+
#Use the system compiler and configure to use Gcc 4.6
+
echo "export WM_COMPILER=Gcc46" >> etc/prefs.sh
+
 
+
# Use the system installation of OpenMPI
+
sed -i s/"#export WM_MPLIB=SYSTEMOPENMPI"/"export WM_MPLIB=SYSTEMOPENMPI"/g etc/prefs.sh
+
sed -i s/"#export OPENMPI_DIR=path_to_system_installed_openmpi"/"export OPENMPI_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export OPENMPI_BIN_DIR"/"export OPENMPI_BIN_DIR"/g etc/prefs.sh
+
 
+
#here you can change 4 to the number of cores you've got
+
echo "export WM_NCOMPPROCS=4" >> etc/prefs.sh
+
</bash></li>
+
 
+
<li>Now to do several more necessary fixes:
+
<bash>#Create a symbolic link for gmake
+
ln -s /usr/bin/make bin/gmake
+
 
+
#disable X dependencies in tecio
+
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
+
applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
+
</bash></li>
+
 
+
<li>For building 1.6-ext itself, it depends on whether you have installed the i686 or x86_64 architecture of Ubuntu. To check this, run:
+
<bash>uname -m</bash>
+
Now, accordingly:
+
<ul>
+
<li>For i686:
+
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
+
</bash></li>
+
 
+
<li>For x86_64... there's nothing special to do.</li>
+
</ul>
+
</li>
+
 
+
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
+
<bash>source etc/bashrc
+
 
+
echo "source $HOME/foam/foam-extend-3.0/etc/bashrc" >> $HOME/.bashrc
+
</bash></li>
+
 
+
<li>Build the several stages of the {{tt|ThirdParty}} folder in a single go:
+
<bash>cd ThirdParty
+
 
+
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
+
./AllMake > log.AllMake 2>&1
+
 
+
#Run it a second time for getting a summary of the installation
+
./AllMake > log.AllMake 2>&1
+
 
</bash>
 
</bash>
</li>
 
  
<li>To check if everything went well:
+
Then create an additional link:
<bash>#Edit the file "log.AllMake" and check if there are any error messages
+
<bash>sudo ln -s /usr/bin/make /usr/bin/gmake
#Example:
+
gedit log.AllMake
+
 
+
#Create a tarball in case you've seen any errors (it's the first error that matters)
+
#or if you don't understand the output
+
#and attach the file "log.AllMake.tar.gz" to a post in the designated thread
+
tar -czf log.AllMake.tar.gz log.AllMake
+
</bash></li>
+
 
+
<li>Now let's build foam-extend-3.0:
+
<bash>#Go back to the main folder and update the environment
+
cd ..
+
source etc/bashrc
+
 
+
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
+
./Allwmake > make.log 2>&1
+
 
+
#Run it a second time for getting a summary of the installation
+
./Allwmake > make.log 2>&1
+
</bash></li>
+
 
+
<li>To check if everything went well:
+
<bash>#Check if icoFoam is working
+
icoFoam -help
+
 
+
#Edit the file "make.log" and check if there are any error messages
+
#Example:
+
gedit make.log
+
 
+
#Create a tarball in case you've seen any errors (it's the first error that matters)
+
#or if you don't understand the output
+
#and attach the file "make.log.tar.gz" to a post in the designated thread
+
tar -czf make.log.tar.gz make.log
+
</bash></li>
+
 
+
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/foam/foam-extend-3.0/doc/Guides-a4/UserGuide.pdf}}.</li>
+
</ol>
+
 
+
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
 
+
 
+
== Ubuntu 12.10 ==
+
 
+
Here you have a few choices:
+
* You can install from source, by either:
+
** Following the available official instructions at the auxiliary project page: [http://wikki.gridcore.se/foam-extend/download Download & Install at wikki.gridcore.se]
+
** Adapting the available official instructions that are for Ubuntu 12.04 (keeping in mind you're trying to install on Ubuntu 12.10), from one of these repositories:
+
*** [http://sourceforge.net/p/openfoam-extend/OpenFOAM-1.6-ext/ci/master/tree/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at the official Extend repository]
+
*** [http://repo.or.cz/w/openfoam-extend-OpenFOAM-1.6-ext.git/tree/master:/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at repo.or.cz mirror]
+
*** [https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext/tree/master/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at Unofficial-Extend-Project-Mirror@github mirror]
+
*** '''Note''': Before following any of the instructions above, check the section [[../#Note regarding foam-extend-3.0|Note regarding foam-extend-3.0]]
+
** Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...
+
 
+
'''WARNING: These instructions are still being written and tested out.'''
+
 
+
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
 
+
Steps:
+
<ol>
+
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
<bash>sudo -s
+
 
+
#if the 'sudo' command tells you're not in the sudoers list,
+
#then remove the # from the next line:
+
#su -
+
 
+
#these 2 lines count as a single line, due to the blackslash "\" character
+
apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
+
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
+
 
+
#just in case, make sure to uninstall the "gold" binutils version
+
apt-get remove binutils-gold
+
 
+
exit</bash></li>
+
<li>Set-up the base folder where foam-extend-3.0 will be installed (here you can copy-paste all in single go):
+
<bash>cd ~
+
mkdir foam
+
cd foam
+
</bash></li>
+
 
+
<li>The next command will depend on the repository mirror you want to use:
+
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Extend's official repository (''https'' mode, if you're behind a firewall): <bash>git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository: <bash>git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror Unofficial-Extend-Project-Mirror@github repository: <bash>git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
</li>
+
 
+
<li>After the cloning is complete, go into the cloned folder:
+
<bash>cd foam-extend-3.0</bash></li>
+
 
+
<li>Configure the preferences file:
+
<bash>cp etc/prefs.sh-EXAMPLE etc/prefs.sh
+
 
+
#Use the system compiler and configure to use Gcc 4.7
+
sed -i s/"compilerInstall=System"/"compilerInstall=System"/g etc/prefs.sh
+
echo "export WM_COMPILER=Gcc47" >> etc/prefs.sh
+
 
+
# Use the system installation of OpenMPI
+
sed -i s/"#export WM_MPLIB=SYSTEMOPENMPI"/"export WM_MPLIB=SYSTEMOPENMPI"/g etc/prefs.sh
+
sed -i s/"#export OPENMPI_DIR=path_to_system_installed_openmpi"/"export OPENMPI_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export OPENMPI_BIN_DIR"/"export OPENMPI_BIN_DIR"/g etc/prefs.sh
+
 
+
# Use the system's ParaView
+
sed -i s/"#export PARAVIEW_SYSTEM=1"/"export PARAVIEW_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export PARAVIEW_DIR=path_to_system_installed_paraview"/"export PARAVIEW_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export PARAVIEW_BIN_DIR"/"export PARAVIEW_BIN_DIR"/g etc/prefs.sh
+
 
+
# Use the system's Scotch
+
sed -i s/"#export SCOTCH_SYSTEM=1"/"export SCOTCH_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export SCOTCH_DIR=path_to_system_installed_scotch"/"export SCOTCH_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export SCOTCH"/"export SCOTCH"/g etc/prefs.sh
+
sed -i 's-SCOTCH_DIR/include$-SCOTCH_DIR/include/scotch-g' etc/prefs.sh
+
 
+
# Use the system's CMake
+
sed -i s/"#export CMAKE_SYSTEM=1"/"export CMAKE_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export CMAKE_DIR=path_to_system_installed_cmake"/"export CMAKE_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export CMAKE"/"export CMAKE"/g etc/prefs.sh
+
 
+
#here you can change 4 to the number of cores you've got
+
echo "export WM_NCOMPPROCS=4" >> etc/prefs.sh
+
</bash></li>
+
 
+
<li>Now to do several more necessary fixes:
+
<bash>#we'll need to switch to the internal reader for ParaView
+
sed -i -e 's=\.OpenFOAM=\.foam=' bin/paraFoam
+
sed -i -e 's/^unset/export LC_ALL=C; unset/' bin/paraFoam
+
 
+
#Create a symbolic link for gmake
+
ln -s /usr/bin/make bin/gmake
+
 
+
#disable X dependencies in tecio
+
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
+
applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
+
</bash></li>
+
 
+
<li>For building 1.6-ext itself, it depends on whether you have installed the i686 or x86_64 architecture of Ubuntu. To check this, run:
+
<bash>uname -m</bash>
+
Now, accordingly:
+
<ul>
+
<li>For i686:
+
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
+
 
+
#copy the rules from ''Gcc46'' to ''Gcc47''
+
cp -r wmake/rules/linuxGcc46 wmake/rules/linuxGcc47
+
 
+
# due to stricter name lookup rules in 4.7 we need to tell the compiler to lighten up on this
+
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linuxGcc47/c++
+
 
</bash>
 
</bash>
Note: fix for the {{tt|c++}} file was retrieved from [http://www.cfd-online.com/Forums/openfoam-installation/108486-walkthrough-installation-openfoam-1-6-ext-opensuse-12-2-64-bit.html here].</li>
 
  
<li>For x86_64:
+
Then continue following the instructions on the previous page, subsection [[Installation/Linux/foam-extend-3.0#Installing from source code|Get the source code]].
<bash>#copy the rules from ''Gcc46'' to ''Gcc47''
+
cp -r wmake/rules/linux64Gcc46 wmake/rules/linux64Gcc47
+
 
+
# due to stricter name lookup rules in 4.7 we need to tell the compiler to lighten up on this
+
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linux64Gcc47/c++
+
</bash>
+
Note: fix for the {{tt|c++}} file was retrieved from [http://www.cfd-online.com/Forums/openfoam-installation/108486-walkthrough-installation-openfoam-1-6-ext-opensuse-12-2-64-bit.html here].</li>
+
</ul>
+
</li>
+
 
+
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
+
<bash>source etc/bashrc
+
 
+
echo "source $HOME/foam/foam-extend-3.0/etc/bashrc" >> $HOME/.bashrc
+
</bash></li>
+
 
+
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
+
<bash>cd ThirdParty</bash>
+
Then run:
+
<bash>sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1</bash>
+
</li>
+
 
+
<li>Build the several stages of the {{tt|ThirdParty}} folder in a single go:
+
<bash># This next command will take a while... somewhere between 5 to 30 minutes
+
./AllMake > log.AllMake 2>&1
+
 
+
#Run it a second time for getting a summary of the installation
+
./AllMake > log.AllMake 2>&1
+
</bash>
+
</li>
+
 
+
<li>To check if everything went well:
+
<bash>#Edit the file "log.AllMake" and check if there are any error messages
+
#Example:
+
gedit log.AllMake
+
 
+
#Create a tarball in case you've seen any errors (it's the first error that matters)
+
#or if you don't understand the output
+
#and attach the file "log.AllMake.tar.gz" to a post in the designated thread
+
tar -czf log.AllMake.tar.gz log.AllMake
+
</bash></li>
+
 
+
<li>Now let's build 1.6-ext:
+
<bash>#Go back to the main folder and update the environment
+
cd ..
+
source etc/bashrc
+
 
+
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
+
./Allwmake > make.log 2>&1
+
 
+
#Run it a second time for getting a summary of the installation
+
./Allwmake > make.log 2>&1
+
</bash></li>
+
 
+
<li>To check if everything went well:
+
<bash>#Check if icoFoam is working
+
icoFoam -help
+
 
+
#Edit the file "make.log" and check if there are any error messages
+
#Example:
+
gedit make.log
+
 
+
#Create a tarball in case you've seen any errors (it's the first error that matters)
+
#or if you don't understand the output
+
#and attach the file "make.log.tar.gz" to a post in the designated thread
+
tar -czf make.log.tar.gz make.log
+
</bash></li>
+
 
+
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/foam/foam-extend-3.0/doc/Guides-a4/UserGuide.pdf}}.</li>
+
</ol>
+
 
+
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
  
  
 
== Ubuntu 13.10 ==
 
== Ubuntu 13.10 ==
 +
Follow the same steps as in [[#Ubuntu 12.04|Ubuntu 12.04]].
  
Here you have a few choices:
 
* You can install from source, by either:
 
** Following the available official instructions at the auxiliary project page: [http://wikki.gridcore.se/foam-extend/download Download & Install at wikki.gridcore.se]
 
** Adapting the available official instructions that are for Ubuntu 12.04 (keeping in mind you're trying to install on Ubuntu 13.10), from one of these repositories:
 
*** [http://sourceforge.net/p/openfoam-extend/OpenFOAM-1.6-ext/ci/1.6.1/tree/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at the official Extend repository]
 
*** [http://repo.or.cz/w/openfoam-extend-OpenFOAM-1.6-ext.git/tree/1.6.1:/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at repo.or.cz mirror]
 
*** [https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext/tree/1.6.1/doc/buildInstructions/Ubuntu/12.04 Building Instructions for Ubuntu 12.04 at Unofficial-Extend-Project-Mirror@github mirror]
 
*** '''Note''': Before following any of the instructions above, check the section [[../#Note regarding foam-extend-3.0|Note regarding foam-extend-3.0]]
 
** Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...
 
  
'''WARNING: These instructions are still being written and tested out.'''
+
== Ubuntu 14.04 ==
  
'''Discussion thread where you can ask questions about these steps''': [http://www.cfd-online.com/Forums/openfoam-installation/127408-openfoam-1-6-ext.html OpenFOAM 1.6 ext]
+
Run the following commands:
 
+
<bash>sudo apt-get update
Steps:
+
sudo apt-get install git-core build-essential binutils-dev flex \
<ol>
+
bison zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev libiberty-dev \
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
libxt-dev rpm mercurial graphviz
<bash>sudo -s
+
 
+
#if the 'sudo' command tells you're not in the sudoers list,
+
#then remove the # from the next line:
+
#su -
+
 
+
#these 2 lines count as a single line, due to the blackslash "\" character
+
apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
+
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
+
 
+
#just in case, make sure to uninstall the "gold" binutils version
+
apt-get remove binutils-gold
+
 
+
exit</bash></li>
+
<li>Set-up the base folder where foam-extend-3.0 will be installed (here you can copy-paste all in single go):
+
<bash>cd ~
+
mkdir foam
+
cd foam
+
</bash></li>
+
 
+
<li>The next command will depend on the repository mirror you want to use:
+
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Extend's official repository (''https'' mode, if you're behind a firewall): <bash>git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository: <bash>git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
* Mirror Unofficial-Extend-Project-Mirror@github repository: <bash>git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git foam-extend-3.0</bash>
+
</li>
+
 
+
<li>After the cloning is complete, go into the cloned folder:
+
<bash>cd foam-extend-3.0</bash></li>
+
 
+
<li>Configure the preferences file:
+
<bash>cp etc/prefs.sh-EXAMPLE etc/prefs.sh
+
 
+
#Use the system compiler and configure to use Gcc 4.8
+
sed -i s/"compilerInstall=System"/"compilerInstall=System"/g etc/prefs.sh
+
echo "export WM_COMPILER=Gcc48" >> etc/prefs.sh
+
 
+
# Use the system installation of OpenMPI
+
sed -i s/"#export WM_MPLIB=SYSTEMOPENMPI"/"export WM_MPLIB=SYSTEMOPENMPI"/g etc/prefs.sh
+
sed -i s/"#export OPENMPI_DIR=path_to_system_installed_openmpi"/"export OPENMPI_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export OPENMPI_BIN_DIR"/"export OPENMPI_BIN_DIR"/g etc/prefs.sh
+
 
+
# Use the system's ParaView
+
sed -i s/"#export PARAVIEW_SYSTEM=1"/"export PARAVIEW_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export PARAVIEW_DIR=path_to_system_installed_paraview"/"export PARAVIEW_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export PARAVIEW_BIN_DIR"/"export PARAVIEW_BIN_DIR"/g etc/prefs.sh
+
 
+
# Use the system's Scotch
+
sed -i s/"#export SCOTCH_SYSTEM=1"/"export SCOTCH_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export SCOTCH_DIR=path_to_system_installed_scotch"/"export SCOTCH_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export SCOTCH"/"export SCOTCH"/g etc/prefs.sh
+
sed -i 's-SCOTCH_DIR/include$-SCOTCH_DIR/include/scotch-g' etc/prefs.sh
+
 
+
# Use the system's CMake
+
sed -i s/"#export CMAKE_SYSTEM=1"/"export CMAKE_SYSTEM=1"/g etc/prefs.sh
+
sed -i s/"#export CMAKE_DIR=path_to_system_installed_cmake"/"export CMAKE_DIR=\/usr"/g etc/prefs.sh
+
sed -i s/"^#export CMAKE"/"export CMAKE"/g etc/prefs.sh
+
 
+
#here you can change 4 to the number of cores you've got
+
echo "export WM_NCOMPPROCS=4" >> etc/prefs.sh
+
</bash></li>
+
 
+
<li>Now to do several more necessary fixes:
+
<bash>#we'll need to switch to the internal reader for ParaView
+
sed -i -e 's=\.OpenFOAM=\.foam=' bin/paraFoam
+
sed -i -e 's/^unset/export LC_ALL=C; unset/' bin/paraFoam
+
 
+
#Create a symbolic link for gmake
+
ln -s /usr/bin/make bin/gmake
+
 
+
#disable X dependencies in tecio
+
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
+
applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
+
</bash></li>
+
 
+
<li>For building 1.6-ext itself, it depends on whether you have installed the i686 or x86_64 architecture of Ubuntu. To check this, run:
+
<bash>uname -m</bash>
+
Now, accordingly:
+
<ul>
+
<li>For i686:
+
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
+
 
+
#copy the rules from ''Gcc46'' to ''Gcc48''
+
cp -r wmake/rules/linuxGcc46 wmake/rules/linuxGcc48
+
 
+
# due to stricter name lookup rules in 4.8 we need to tell the compiler to lighten up on this
+
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linuxGcc48/c++
+
 
</bash>
 
</bash>
Note: fix for the {{tt|c++}} file was retrieved from [http://www.cfd-online.com/Forums/openfoam-installation/108486-walkthrough-installation-openfoam-1-6-ext-opensuse-12-2-64-bit.html here].</li>
 
  
<li>For x86_64:
+
Then create an additional link:
<bash>#copy the rules from ''Gcc46'' to ''Gcc48''
+
<bash>sudo ln -s /usr/bin/make /usr/bin/gmake
cp -r wmake/rules/linux64Gcc46 wmake/rules/linux64Gcc48
+
 
+
# due to stricter name lookup rules in 4.8 we need to tell the compiler to lighten up on this
+
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linux64Gcc48/c++
+
 
</bash>
 
</bash>
Note: fix for the {{tt|c++}} file was retrieved from [http://www.cfd-online.com/Forums/openfoam-installation/108486-walkthrough-installation-openfoam-1-6-ext-opensuse-12-2-64-bit.html here].</li>
 
</ul>
 
</li>
 
 
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
 
<bash>source etc/bashrc
 
 
echo "source $HOME/foam/foam-extend-3.0/etc/bashrc" >> $HOME/.bashrc
 
</bash></li>
 
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
 
<bash>cd ThirdParty</bash>
 
Then run:
 
<bash>sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1</bash>
 
</li>
 
 
<li>A few fixes are necessary for building some of the third-party applications/libraries:
 
<bash>sed -i -e 's/\(\+.*LIBS = \)/\1-Xlinker --add-needed -Xlinker --no-as-needed /' ./rpmBuild/SOURCES/ParMGridGen-1.0.patch
 
 
sed -i -e 's/\(\+.*LIBS = \)/\1-Xlinker --add-needed -Xlinker --no-as-needed /' ./rpmBuild/SOURCES/ParMetis-3.1.1.patch
 
</bash>
 
</li>
 
 
<li>Build the several stages of the {{tt|ThirdParty}} folder in a single go:
 
<bash># This next command will take a little while... somewhere between 5 and 30 minutes
 
./AllMake > log.AllMake 2>&1
 
 
#Run it a second time for getting a summary of the installation
 
./AllMake > log.AllMake 2>&1
 
</bash>
 
</li>
 
 
<li>To check if everything went well:
 
<bash>#Edit the file "log.AllMake" and check if there are any error messages
 
#Example:
 
gedit log.AllMake
 
 
#Create a tarball in case you've seen any errors (it's the first error that matters)
 
#or if you don't understand the output
 
#and attach the file "log.AllMake.tar.gz" to a post in the designated thread
 
tar -czf log.AllMake.tar.gz log.AllMake
 
</bash></li>
 
 
<li>Now let's build 1.6-ext:
 
<bash>#Go back to the main folder and update the environment
 
cd ..
 
source etc/bashrc
 
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
./Allwmake > make.log 2>&1
 
 
#Run it a second time for getting a summary of the installation
 
./Allwmake > make.log 2>&1
 
</bash></li>
 
 
<li>To check if everything went well:
 
<bash>#Check if icoFoam is working
 
icoFoam -help
 
 
#Edit the file "make.log" and check if there are any error messages
 
#Example:
 
gedit make.log
 
 
#Create a tarball in case you've seen any errors (it's the first error that matters)
 
#or if you don't understand the output
 
#and attach the file "make.log.tar.gz" to a post in the designated thread
 
tar -czf make.log.tar.gz make.log
 
</bash></li>
 
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/foam/foam-extend-3.0/doc/Guides-a4/UserGuide.pdf}}.</li>
 
</ol>
 
  
'''Discussion thread where you can ask questions about these steps''': [http://www.cfd-online.com/Forums/openfoam-installation/127408-openfoam-1-6-ext.html OpenFOAM 1.6 ext]
+
Then continue following the instructions on the previous page, subsection [[Installation/Linux/foam-extend-3.0#Installing from source code|Get the source code]].
  
  
 
[[Category:Installing OpenFOAM on Linux]] [[Category:Installing OpenFOAM on Ubuntu]]
 
[[Category:Installing OpenFOAM on Linux]] [[Category:Installing OpenFOAM on Ubuntu]]

Latest revision as of 14:48, 11 September 2016

1 Introduction

This page is dedicated to preparing an Ubuntu system for installing the foam-extend project OF Version 30ext.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 \
bison zlib1g-dev qt4-dev-tools libqt4-dev libncurses5-dev \
libxt-dev rpm mercurial graphviz

Then create an additional link:

sudo ln -s /usr/bin/make /usr/bin/gmake

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


2.2 Ubuntu 13.10

Follow the same steps as in Ubuntu 12.04.


2.3 Ubuntu 14.04

Run the following commands:

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

Then create an additional link:

sudo ln -s /usr/bin/make /usr/bin/gmake

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