Difference between revisions of "Installation/Linux/OpenFOAM-1.6-ext/Ubuntu"

From OpenFOAMWiki
(Ubuntu 12.04: Adapted the new alias + template system)
(Ubuntu 16.04: finished testing)
 
(21 intermediate revisions by the same user not shown)
Line 33: Line 33:
 
<ol>
 
<ol>
 
{{Installation/Linux/SwitchToRoot}}
 
{{Installation/Linux/SwitchToRoot}}
 +
{{Installation/Linux/AptGetUpdate}}
  
 
<li>Install the necessary packages:
 
<li>Install the necessary packages:
Line 48: Line 49:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 77: Line 72:
 
#Create a symbolic link for gmake
 
#Create a symbolic link for gmake
 
ln -s /usr/bin/make bin/gmake
 
ln -s /usr/bin/make bin/gmake
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 82: Line 81:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 91: Line 90:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
Line 127: Line 126:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<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/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
Line 168: Line 155:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
Steps:
 
Steps:
 
<ol>
 
<ol>
 
{{Installation/Linux/SwitchToRoot}}
 
{{Installation/Linux/SwitchToRoot}}
 +
{{Installation/Linux/AptGetUpdate}}
  
 
<li>Install the necessary packages:
 
<li>Install the necessary packages:
Line 188: Line 176:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 217: Line 199:
 
#Create a symbolic link for gmake
 
#Create a symbolic link for gmake
 
ln -s /usr/bin/make bin/gmake
 
ln -s /usr/bin/make bin/gmake
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 222: Line 208:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 231: Line 217:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
Line 267: Line 253:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<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/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
Line 294: Line 268:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
== Ubuntu 12.04 ==
 
== Ubuntu 12.04 ==
Line 308: Line 282:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
Steps:
 
Steps:
 
<ol>
 
<ol>
 
{{Installation/Linux/SwitchToRoot}}
 
{{Installation/Linux/SwitchToRoot}}
 +
{{Installation/Linux/AptGetUpdate}}
  
 
<li>Install the necessary packages:
 
<li>Install the necessary packages:
Line 328: Line 303:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 372: Line 341:
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 377: Line 350:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 386: Line 359:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
Line 422: Line 395:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<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/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
Line 449: Line 410:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
== Ubuntu 12.10 ==
 
== Ubuntu 12.10 ==
Line 463: Line 424:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
Steps:
 
Steps:
 
<ol>
 
<ol>
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
{{Installation/Linux/SwitchToRoot}}
<bash>sudo -s
+
{{Installation/Linux/AptGetUpdate}}
  
#if the 'sudo' command tells you're not in the sudoers list,
+
<li>Install the necessary packages:
#then remove the # from the next line:
+
<bash>apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
#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
 
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
  
 
#just in case, make sure to uninstall the "gold" binutils version
 
#just in case, make sure to uninstall the "gold" binutils version
 
apt-get remove binutils-gold
 
apt-get remove binutils-gold
 +
</bash>
 +
</li>
 +
 +
{{Installation/Linux/ExitRoot}}
  
exit</bash></li>
 
 
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<bash>cd ~
 
<bash>cd ~
Line 488: Line 448:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 543: Line 497:
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 548: Line 506:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 571: Line 529:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
+
echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
</bash></li>
+
</bash>
 +
{{Installation/Linux/AliasNote|OpenFOAM 1.6-ext|of16ext}}
 +
</li>
  
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
Line 609: Line 569:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<bash>#Check if icoFoam is working
+
icoFoam -help
+
  
#Edit the file "make.log" and check if there are any error messages
+
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
#Example:
+
</ol>
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/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
+
{{Installation/Linux/AliasReminder|OpenFOAM 1.6-ext|of16ext}}
</ol>
+
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
 
  
 +
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
== Ubuntu 13.04 ==
 
== Ubuntu 13.04 ==
Line 647: Line 598:
  
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
+
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
  
 
Steps:
 
Steps:
 
<ol>
 
<ol>
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
{{Installation/Linux/SwitchToRoot}}
<bash>sudo -s
+
{{Installation/Linux/AptGetUpdate}}
  
#if the 'sudo' command tells you're not in the sudoers list,
+
<li>Install the necessary packages:
#then remove the # from the next line:
+
<bash>apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
#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
 
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
  
 
#just in case, make sure to uninstall the "gold" binutils version
 
#just in case, make sure to uninstall the "gold" binutils version
 
apt-get remove binutils-gold
 
apt-get remove binutils-gold
 +
</bash>
 +
</li>
 +
 +
{{Installation/Linux/ExitRoot}}
  
exit</bash></li>
 
 
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<bash>cd ~
 
<bash>cd ~
Line 672: Line 622:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 727: Line 671:
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 732: Line 680:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 755: Line 703:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
+
echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
</bash></li>
+
</bash>
 +
{{Installation/Linux/AliasNote|OpenFOAM 1.6-ext|of16ext}}
 +
</li>
  
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
Line 793: Line 743:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<bash>#Check if icoFoam is working
+
icoFoam -help
+
  
#Edit the file "make.log" and check if there are any error messages
+
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 +
</ol>
 +
 
 +
 
 +
{{Installation/Linux/AliasReminder|OpenFOAM 1.6-ext|of16ext}}
 +
 
 +
 
 +
'''Discussion thread where you can ask questions about these steps''': {{Installation/NoThreadAskForum}}
 +
 
 +
== Ubuntu 13.10 ==
 +
 
 +
Here you have a few choices:
 +
* You can install from source, by either:
 +
** 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)...
 +
 
 +
 
 +
'''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]
 +
 
 +
Steps:
 +
<ol>
 +
{{Installation/Linux/SwitchToRoot}}
 +
{{Installation/Linux/AptGetUpdate}}
 +
 
 +
<li>Install the necessary packages:
 +
<bash>apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
 +
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
 +
</bash>
 +
</li>
 +
 
 +
{{Installation/Linux/ExitRoot}}
 +
 
 +
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 +
<bash>cd ~
 +
mkdir OpenFOAM
 +
cd OpenFOAM
 +
</bash></li>
 +
 
 +
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
 +
 
 +
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 +
<bash>cd OpenFOAM-1.6-ext
 +
git checkout 1.6.1 -b 16ext</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
 +
 
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 +
</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 {{NoIndentStyle}}>
 +
<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>
 +
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:
 +
<bash>#copy the rules from ''Gcc46'' to ''Gcc48''
 +
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>
 +
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 an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 +
<bash>source etc/bashrc
 +
 
 +
echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
 +
</bash>
 +
{{Installation/Linux/AliasNote|OpenFOAM 1.6-ext|of16ext}}
 +
</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:
 
#Example:
gedit make.log
+
gedit log.AllMake
  
 
#Create a tarball in case you've seen any errors (it's the first error that matters)
 
#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
 
#or if you don't understand the output
#and attach the file "make.log.tar.gz" to a post in the designated thread
+
#and attach the file "log.AllMake.tar.gz" to a post in the designated thread
tar -czf make.log.tar.gz make.log
+
tar -czf log.AllMake.tar.gz log.AllMake
 
</bash></li>
 
</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 > log.make 2>&1
 +
 +
#Run it a second time for getting a summary of the installation
 +
./Allwmake > log.make 2>&1
 +
</bash></li>
 +
 +
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
  
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
</ol>
 
</ol>
  
'''Discussion thread where you can ask questions about these steps''': ''none so far.''
 
  
 +
{{Installation/Linux/AliasReminder|OpenFOAM 1.6-ext|of16ext}}
  
== Ubuntu 13.10 ==
+
 
 +
'''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]
 +
 
 +
== Ubuntu 14.04 ==
  
 
Here you have a few choices:
 
Here you have a few choices:
Line 829: Line 948:
 
*** '''Note''': Before following any of the instructions above, check the section [[../#Note regarding foam-extend-3.0|Note regarding foam-extend-3.0]]
 
*** '''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)...
 
** Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...
 +
  
 
'''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]
 
'''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]
Line 834: Line 954:
 
Steps:
 
Steps:
 
<ol>
 
<ol>
<li>Switch to ''root'' mode (administrator) and install the necessary packages (run one line at a time):
+
{{Installation/Linux/SwitchToRoot}}
<bash>sudo -s
+
{{Installation/Linux/AptGetUpdate}}
  
#if the 'sudo' command tells you're not in the sudoers list,
+
<li>Install the necessary packages:
#then remove the # from the next line:
+
<bash>apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
#su -
+
openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5 libiberty-dev
 +
</bash>
 +
(''A shout-out to [http://www.cfd-online.com/Forums/members/nacholarrabide.html nacholarrabide] for the missing package {{tt|libiberty-dev}} and requesting this section for Ubuntu 14.04 to be added.'')
 +
</li>
  
#these 2 lines count as a single line, due to the blackslash "\" character
+
{{Installation/Linux/ExitRoot}}
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 OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 
<bash>cd ~
 
<bash>cd ~
Line 855: Line 972:
 
</bash></li>
 
</bash></li>
  
<li>The next command will depend on the repository mirror you want to use:
+
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
* Extend's official repository: <bash>git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext</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</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</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 OpenFOAM-1.6-ext</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 OpenFOAM-1.6-ext</bash>
+
</li>
+
  
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
Line 910: Line 1,021:
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
sed -i -e 's=\(U_WIN32\)$=\1 -DENGINE=g' \
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 
  applications/utilities/postProcessing/dataConversion/foamToTecplot360/tecio/tecsrc/Make/tecioOptions
 +
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 
</bash></li>
 
</bash></li>
  
Line 915: Line 1,030:
 
<bash>uname -m</bash>
 
<bash>uname -m</bash>
 
Now, accordingly:
 
Now, accordingly:
<ul>
+
<ul {{NoIndentStyle}}>
 
<li>For i686:
 
<li>For i686:
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
Line 938: Line 1,053:
 
</li>
 
</li>
  
<li>''Activate'' the environment and save it in the personal {{tt|.bashrc}} file:
+
<li>''Activate'' the environment and save an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 
<bash>source etc/bashrc
 
<bash>source etc/bashrc
  
echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
+
echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
</bash></li>
+
</bash>
 +
{{Installation/Linux/AliasNote|OpenFOAM 1.6-ext|of16ext}}
 +
</li>
  
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
 
<li>Now we need avoid building cmake, so first go into the {{tt|ThirdParty}} folder:
Line 983: Line 1,100:
  
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
 
# This next command will take a while... somewhere between 30 minutes to 3-6 hours.
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
  
 
#Run it a second time for getting a summary of the installation
 
#Run it a second time for getting a summary of the installation
./Allwmake > make.log 2>&1
+
./Allwmake > log.make 2>&1
 
</bash></li>
 
</bash></li>
  
<li>To check if everything went well:
+
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
<bash>#Check if icoFoam is working
+
icoFoam -help
+
  
#Edit the file "make.log" and check if there are any error messages
+
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 +
</ol>
 +
 
 +
 
 +
{{Installation/Linux/AliasReminder|OpenFOAM 1.6-ext|of16ext}}
 +
 
 +
 
 +
'''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]
 +
 
 +
<br>
 +
== Ubuntu 16.04 ==
 +
 
 +
Here you have a few choices:
 +
* You can install from source, by either checking the instructions referred in the previous sections above...
 +
* Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...
 +
 
 +
 
 +
'''Discussion thread where you can ask questions about these steps''': [https://www.cfd-online.com/Forums/openfoam-installation/207867-foam-extend-1-6-scotchdecomp-error-while-compiling-ubuntu-16-04-a.html#post709300  foam-extend 1.6: ScotchDecomp error while compiling on Ubuntu 16.04]
 +
 
 +
Steps:
 +
<ol>
 +
{{Installation/Linux/SwitchToRoot}}
 +
{{Installation/Linux/AptGetUpdate}}
 +
 
 +
<li>Install the necessary packages:
 +
<bash>apt-get install git flex rpm build-essential zlib1g-dev binutils-dev \
 +
openmpi-bin libopenmpi-dev cmake paraview libstdc++5 libiberty-dev
 +
</bash>
 +
</li>
 +
 
 +
{{Installation/Linux/ExitRoot}}
 +
 
 +
<li>Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
 +
<bash>cd ~
 +
mkdir OpenFOAM
 +
cd OpenFOAM
 +
</bash></li>
 +
 
 +
{{Installation/Linux/OpenFOAM-1.6-ext/Mirrors}}
 +
 
 +
<li>After the cloning is complete, go into the cloned folder and checkout the commit associated to {{tt|1.6.1}}, so that the correct 1.6-ext version is used:
 +
<bash>cd OpenFOAM-1.6-ext
 +
git checkout 1.6.1 -b 16ext</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 5.4
 +
echo "export WM_COMPILER=Gcc54" >> 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
 +
 
 +
#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
 +
 
 +
#Fix the link for Mesquite
 +
sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
 +
  ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
 +
 
 +
#Fix for Flex version detection
 +
find src applications -name "*.L" -type f | xargs sed -i -e 's=\(YY\_FLEX\_SUBMINOR\_VERSION\)=YY_FLEX_MINOR_VERSION < 6 \&\& \1='
 +
</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 {{NoIndentStyle}}>
 +
<li>For i686:
 +
<bash>echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
 +
 
 +
#copy the rules from ''Gcc46'' to ''Gcc54''
 +
cp -r wmake/rules/linuxGcc46 wmake/rules/linuxGcc54
 +
 
 +
# due to stricter name lookup rules in GCC 4.8 and newer, we need to tell the compiler to lighten up on this
 +
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linuxGcc54/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>
 +
 
 +
<li>For x86_64:
 +
<bash>#copy the rules from ''Gcc46'' to ''Gcc54''
 +
cp -r wmake/rules/linux64Gcc46 wmake/rules/linux64Gcc54
 +
 
 +
# due to stricter name lookup rules in GCC 4.8 and newer, we need to tell the compiler to lighten up on this
 +
sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linux64Gcc54/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 an ''alias'' in the personal {{tt|.bashrc}} file, simply by running the following commands:
 +
<bash>source etc/bashrc
 +
 
 +
echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
 +
</bash>
 +
{{Installation/Linux/AliasNote|OpenFOAM 1.6-ext|of16ext}}
 +
</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
 +
 
 +
sed -i -e 's=$(LDFLAGS)=$(LDFLAGS) -pthread=' ./rpmBuild/SOURCES/scotch-5.1.10b_patch_0
 +
</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:
 
#Example:
gedit make.log
+
gedit log.AllMake
  
 
#Create a tarball in case you've seen any errors (it's the first error that matters)
 
#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
 
#or if you don't understand the output
#and attach the file "make.log.tar.gz" to a post in the designated thread
+
#and attach the file "log.AllMake.tar.gz" to a post in the designated thread
tar -czf make.log.tar.gz make.log
+
tar -czf log.AllMake.tar.gz log.AllMake
 
</bash></li>
 
</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 > log.make 2>&1
 +
 +
#Run it a second time for getting a summary of the installation
 +
./Allwmake > log.make 2>&1
 +
</bash></li>
 +
 +
<li>{{Installation/Linux/CheckIfAllWentWell}}</li>
  
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
<li>Now you can go read the User Guide, which is located at {{tt|$HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf}}.</li>
 
</ol>
 
</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]
+
 
 +
{{Installation/Linux/AliasReminder|OpenFOAM 1.6-ext|of16ext}}
 +
 
 +
 
 +
'''Discussion thread where you can ask questions about these steps''': [https://www.cfd-online.com/Forums/openfoam-installation/207867-foam-extend-1-6-scotchdecomp-error-while-compiling-ubuntu-16-04-a.html#post709300  foam-extend 1.6: ScotchDecomp error while compiling on Ubuntu 16.04]
 +
 
  
  
 
[[Category:Installing OpenFOAM on Linux]] [[Category:Installing OpenFOAM on Ubuntu]]
 
[[Category:Installing OpenFOAM on Linux]] [[Category:Installing OpenFOAM on Ubuntu]]

Latest revision as of 17:00, 8 October 2018

1 Introduction

This page is dedicated to explaining how to install the foam-extend project OF Version 16ext.png in Ubuntu.

If you do not yet feel comfortable using Linux, then perhaps you better first read the page 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.


2 Copy-Paste steps

A few notes before you start copy-pasting:

  1. Lines that start with # don't have to be copy-pasted. They are just comments to let you know what's going on.
  2. 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!


2.1 Ubuntu 10.04

Here you have at least two choices:


Discussion thread where you can ask questions about these steps: failed to install openFoam 1.6ext

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git-core flex bison rpm build-essential zlib1g-dev binutils-dev libstdc++5 \
    libqt4-dev qt4-dev-tools libxext-dev libxt-dev libreadline-dev libncurses-dev
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file to specify the usage of the system's Qt 4:
    cp etc/prefs.sh-EXAMPLE etc/prefs.sh
     
    sed -i s/"#export QT_DIR=path_to_system_installed_qt"/"export QT_DIR=\/usr"/g etc/prefs.sh
    sed -i s/"#export QT_BIN_DIR=\$QT_DIR\/bin"/"export QT_BIN_DIR=\$QT_DIR\/bin"/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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
    • For x86_64... there's nothing special to do.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Build the several stages of the ThirdParty folder in a single go:
    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
  13. To check if everything went well:
    #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
  14. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  15. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  16. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: failed to install openFoam 1.6ext

2.2 Ubuntu 11.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git-core flex bison rpm build-essential zlib1g-dev binutils-dev libstdc++5 \
    libqt4-dev qt4-dev-tools libxext-dev libxt-dev libreadline-dev libncurses-dev libxrender-dev
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    cp etc/prefs.sh-EXAMPLE etc/prefs.sh
     
    #configuring it to build using the custom Qt build
    sed -i s/"#export QT_THIRD_PARTY=1"/"export QT_THIRD_PARTY=1"/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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
    • For x86_64... there's nothing special to do.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Build the several stages of the ThirdParty folder in a single go:
    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
  13. To check if everything went well:
    #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
  14. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  15. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  16. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

2.3 Ubuntu 12.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
    openmpi-bin libopenmpi-dev paraview libstdc++5
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    cp etc/prefs.sh-EXAMPLE etc/prefs.sh
     
    #Use the system compiler and configure to use Gcc 4.6
    sed -i s/"compilerInstall=System"/"compilerInstall=System"/g etc/prefs.sh
    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
     
    # Use the system 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
     
    #here you can change 4 to the number of cores you've got
    echo "export WM_NCOMPPROCS=4" >> etc/prefs.sh
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
    • For x86_64... there's nothing special to do.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Build the several stages of the ThirdParty folder in a single go:
    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
  13. To check if everything went well:
    #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
  14. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  15. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  16. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

2.4 Ubuntu 12.10

Here you have a few choices:


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    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
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      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++
      Note: fix for the c++ file was retrieved from here.
    • For x86_64:
      #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++
      Note: fix for the c++ file was retrieved from here.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Now we need avoid building cmake, so first go into the ThirdParty folder:
    cd ThirdParty

    Then run:

    sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  13. Build the several stages of the ThirdParty folder in a single go:
    # 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
  14. To check if everything went well:
    #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
  15. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  16. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  17. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

2.5 Ubuntu 13.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    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
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      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++
      Note: fix for the c++ file was retrieved from here.
    • For x86_64:
      #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++
      Note: fix for the c++ file was retrieved from here.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Now we need avoid building cmake, so first go into the ThirdParty folder:
    cd ThirdParty

    Then run:

    sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  13. Build the several stages of the ThirdParty folder in a single go:
    # 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
  14. To check if everything went well:
    #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
  15. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  16. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  17. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: No thread available. Please a create a new thread in the forum.

2.6 Ubuntu 13.10

Here you have a few choices:


Discussion thread where you can ask questions about these steps: OpenFOAM 1.6 ext

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
    openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      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++
      Note: fix for the c++ file was retrieved from here.
    • For x86_64:
      #copy the rules from ''Gcc46'' to ''Gcc48''
      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++
      Note: fix for the c++ file was retrieved from here.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Now we need avoid building cmake, so first go into the ThirdParty folder:
    cd ThirdParty

    Then run:

    sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  13. A few fixes are necessary for building some of the third-party applications/libraries:
    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
  14. Build the several stages of the ThirdParty folder in a single go:
    # 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
  15. To check if everything went well:
    #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
  16. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  17. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  18. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: OpenFOAM 1.6 ext

2.7 Ubuntu 14.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: OpenFOAM 1.6 ext

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git flex bison rpm build-essential zlib1g-dev binutils-dev \
    openmpi-bin libopenmpi-dev paraview libscotch-dev cmake libstdc++5 libiberty-dev

    (A shout-out to nacholarrabide for the missing package libiberty-dev and requesting this section for Ubuntu 14.04 to be added.)

  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    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
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      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++
      Note: fix for the c++ file was retrieved from here.
    • For x86_64:
      #copy the rules from ''Gcc46'' to ''Gcc48''
      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++
      Note: fix for the c++ file was retrieved from here.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Now we need avoid building cmake, so first go into the ThirdParty folder:
    cd ThirdParty

    Then run:

    sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  13. A few fixes are necessary for building some of the third-party applications/libraries:
    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
  14. Build the several stages of the ThirdParty folder in a single go:
    # 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
  15. To check if everything went well:
    #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
  16. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  17. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  18. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: OpenFOAM 1.6 ext


2.8 Ubuntu 16.04

Here you have a few choices:

  • You can install from source, by either checking the instructions referred in the previous sections above...
  • Or by following the detailed step-by-step instructions below (which has been based on the instructions from previous link)...


Discussion thread where you can ask questions about these steps: foam-extend 1.6: ScotchDecomp error while compiling on Ubuntu 16.04

Steps:

  1. Switch to root mode (administrator), to install the necessary packages:
    sudo -s
    • If the 'sudo' command tells you're not in the sudoers list, then run:
      su -
  2. Update the apt-get cache by running:
    apt-get update
  3. Install the necessary packages:
    apt-get install git flex rpm build-essential zlib1g-dev binutils-dev \
    openmpi-bin libopenmpi-dev cmake paraview libstdc++5 libiberty-dev
  4. Now exit from the root mode:
    exit
  5. Set-up the base folder where OpenFOAM-1.6-ext will be installed (here you can copy-paste all in single go):
    cd ~
    mkdir OpenFOAM
    cd OpenFOAM
  6. The next command will depend on the repository mirror you want to use:
    • Extend's official repository:
      git clone git://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Extend's official repository (https mode, if you're behind a firewall):
      git clone https://git.code.sf.net/p/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
    • Mirror Unofficial-Extend-Project-Mirror@github repository:
      git clone https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  7. After the cloning is complete, go into the cloned folder and checkout the commit associated to 1.6.1, so that the correct 1.6-ext version is used:
    cd OpenFOAM-1.6-ext
    git checkout 1.6.1 -b 16ext
  8. Configure the preferences file:
    cp etc/prefs.sh-EXAMPLE etc/prefs.sh
     
    #Use the system compiler and configure to use Gcc 5.4
    echo "export WM_COMPILER=Gcc54" >> 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
     
    #here you can change 4 to the number of cores you've got
    echo "export WM_NCOMPPROCS=4" >> etc/prefs.sh
  9. Now to do several more necessary fixes:
    #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
     
    #Fix the link for Mesquite
    sed -i -e 's=software.sandia.gov/~jakraft=downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty=g' \
      ThirdParty/AllMake.stage3 ThirdParty/rpmBuild/SPECS/mesquite-2.1.2.spec
     
    #Fix for Flex version detection
    find src applications -name "*.L" -type f | xargs sed -i -e 's=\(YY\_FLEX\_SUBMINOR\_VERSION\)=YY_FLEX_MINOR_VERSION < 6 \&\& \1='
  10. 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:
    uname -m

    Now, accordingly:

    • For i686:
      echo "export WM_ARCH_OPTION=32" >> etc/prefs.sh
       
      #copy the rules from ''Gcc46'' to ''Gcc54''
      cp -r wmake/rules/linuxGcc46 wmake/rules/linuxGcc54
       
      # due to stricter name lookup rules in GCC 4.8 and newer, we need to tell the compiler to lighten up on this
      sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linuxGcc54/c++
      Note: fix for the c++ file was retrieved from here.
    • For x86_64:
      #copy the rules from ''Gcc46'' to ''Gcc54''
      cp -r wmake/rules/linux64Gcc46 wmake/rules/linux64Gcc54
       
      # due to stricter name lookup rules in GCC 4.8 and newer, we need to tell the compiler to lighten up on this
      sed -i 's/^\(c++FLAGS.*\)/\1 -fpermissive/g' wmake/rules/linux64Gcc54/c++
      Note: fix for the c++ file was retrieved from here.
  11. Activate the environment and save an alias in the personal .bashrc file, simply by running the following commands:
    source etc/bashrc
     
    echo "alias of16ext='source \$HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc'" >> $HOME/.bashrc
    Note: This last line means that whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, whenever you start a new terminal, you should run:
    of16ext
    
    For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.
  12. Now we need avoid building cmake, so first go into the ThirdParty folder:
    cd ThirdParty

    Then run:

    sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  13. A few fixes are necessary for building some of the third-party applications/libraries:
    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
     
    sed -i -e 's=$(LDFLAGS)=$(LDFLAGS) -pthread=' ./rpmBuild/SOURCES/scotch-5.1.10b_patch_0
  14. Build the several stages of the ThirdParty folder in a single go:
    # 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
  15. To check if everything went well:
    #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
  16. Now let's build 1.6-ext:
    #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 > log.make 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > log.make 2>&1
  17. To check if everything went well:
    1. Check if icoFoam is working, by running this command:
      icoFoam -help

      which should tell you something like this:

      Usage: icoFoam [OPTIONS]
      options:
        -case <dir>       specify alternate case directory, default is the cwd
        -noFunctionObjects
                          do not execute functionObjects
        -parallel         run in parallel
        -roots <(dir1 .. dirN)>
                          slave root directories for distributed running
        -srcDoc           display source code in browser
        -doc              display application documentation in browser
        -help             print the usage

      Note: And keep in mind that you need to be careful with the letter case of the command. It's icoFoam, not icoFOAM.

    2. If the previous command failed to work properly, then edit the file log.make and check if there are any error messages. A few examples on how you can edit this file:
      • By using kwrite:
        kwrite log.make
      • By using gedit:
        gedit log.make
      • By using nano:
        nano log.make

        You can then exit by using the key combination Ctrl+X and following any instructions it gives you.

      Note: It's the first error message that matters.

    3. If you don't understand the output, then please compress the log-file log.make and attach the compressed file to a post in the designated thread.
      If you do not know how to create a compressed file, then try one of the following examples:
      • You can compress the file with gzip by running this command:
        gzip < log.make > log.make.gz

        Then attach the resulting package file named log.make.gz to a post in the designated thread.

      • Or you can compress one or more log-files into a tarball package file, by running this command:
        tar -czf logs.tar.gz log.*

        Then attach the resulting package file named logs.tar.gz to a post in the designated thread.

    4. Instructions on how to further diagnose the issue yourself, have a look at the section Common errors when building OpenFOAM from source code in the page FAQ/Installation and Running.
  18. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.


Reminder: Whenever you start a new terminal window or tab, you should run the alias command associated to the OpenFOAM 1.6-ext shell environment. In other words, run the following command whenever you start a new terminal:
of16ext
For more information on this topic, read section Using aliases to help manage multiple OpenFOAM versions in the page Installation/Working with the Shell.


Discussion thread where you can ask questions about these steps: foam-extend 1.6: ScotchDecomp error while compiling on Ubuntu 16.04