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

From OpenFOAMWiki
m (added missing line breaks)
(Ooops, forgot about Github's sometimes appends a name to cloned repositories...)
Line 54: Line 54:
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git</bash>
+
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext</bash>
 
</li>
 
</li>
  
Line 201: Line 201:
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git</bash>
+
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext</bash>
 
</li>
 
</li>
  
Line 348: Line 348:
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git</bash>
+
* Mirror ogoe@github repository: <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext</bash>
 
</li>
 
</li>
  
Line 513: Line 513:
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
* Mirror ogoe@github repository (''it's missing patches for Gcc 4.7.x, so use this one only as a last resort''): <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git</bash>
+
* Mirror ogoe@github repository (''it's missing patches for Gcc 4.7.x, so use this one only as a last resort''): <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext</bash>
 
</li>
 
</li>
  
Line 709: Line 709:
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Mirror at repo.or.cz repository (''http'' mode, if you're behind a firewall): <bash>git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
 
* Extend's official repository (''currently still off-line, see [[Main_Page]]''): <bash>git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext</bash>
* Mirror ogoe@github repository (''it's missing patches for Gcc 4.7.x, so use this one only as a last resort''): <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git</bash>
+
* Mirror ogoe@github repository (''it's missing patches for Gcc 4.7.x, so use this one only as a last resort''): <bash>git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext</bash>
 
</li>
 
</li>
  

Revision as of 15:13, 5 May 2013

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: none so far.

Steps:

  1. Switch to root mode (administrator) and install the necessary packages (run one line at a time):
    sudo -s
     
    #if the 'sudo' command tells you're not in the sudoers list,
    #then remove the # from the next line:
    #su -
     
    #these 2 lines count as a single line, due to the blackslash "\" character
    apt-get install git-core flex bison rpm g++ zlib1g-dev binutils-dev libstdc++5 \
    libqt4-dev qt4-dev-tools libxext-dev libxt-dev libreadline-dev libncurses-dev
     
    exit
  2. 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
  3. The next command will depend on the repository mirror you want to use:
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/OpenFOAM-1.6-ext.git
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git
    • Extend's official repository (currently still off-line, see Main_Page):
      git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror ogoe@github repository:
      git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  4. After the cloning is complete, go into the cloned folder:
    cd OpenFOAM-1.6-ext
  5. 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
  6. 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
  7. 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.
  8. Activate the environment and save it in the personal .bashrc file:
    source etc/bashrc
     
    echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
  9. Now we need to do several repairs to the Third-Party specs files, due to several changes that occurred on the Internet since the last major update of 1.6-ext, so first go into the ThirdParty folder:
    cd ThirdParty

    Then:

    1. Repair Qt's download website:
      sed -i 's=http://get.qt.nokia.com=ftp://ftp.qt-project.org=' \
        rpmBuild/SPECS/qt-everywhere-opensource-src-4.7.4.spec AllMake.stage4
    2. Repair libccmio download website:
      sed -i 's=https://wci.llnl.gov/codes/visit/3rd_party=http://portal.nersc.gov/svn/visit/trunk/third_party=' \
        rpmBuild/SPECS/libccmio-2.6.1.spec AllMake.stage3
  10. Build the several stages of the ThirdParty folder in a single go:
    # 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
  11. 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
  12. 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 > make.log 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > make.log 2>&1
  13. To check if everything went well:
    #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
  14. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.

Discussion thread where you can ask questions about these steps: none so far.


2.2 Ubuntu 11.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: none so far.

Steps:

  1. Switch to root mode (administrator) and install the necessary packages (run one line at a time):
    sudo -s
     
    #if the 'sudo' command tells you're not in the sudoers list,
    #then remove the # from the next line:
    #su -
     
    #these 2 lines count as a single line, due to the blackslash "\" character
    apt-get install git-core flex bison rpm g++ zlib1g-dev binutils-dev libstdc++5 \
    libqt4-dev qt4-dev-tools libxext-dev libxt-dev libreadline-dev libncurses-dev libxrender-dev
     
    exit
  2. 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
  3. The next command will depend on the repository mirror you want to use:
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/OpenFOAM-1.6-ext.git
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git
    • Extend's official repository (currently still off-line, see Main_Page):
      git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror ogoe@github repository:
      git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  4. After the cloning is complete, go into the cloned folder:
    cd OpenFOAM-1.6-ext
  5. 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
  6. 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
  7. 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.
  8. Activate the environment and save it in the personal .bashrc file:
    source etc/bashrc
     
    echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
  9. Now we need to do several repairs to the Third-Party specs files, due to several changes that occurred on the Internet since the last major update of 1.6-ext, so first go into the ThirdParty folder:
    cd ThirdParty

    Then:

    1. Repair Qt's download website:
      sed -i 's=http://get.qt.nokia.com=ftp://ftp.qt-project.org=' \
        rpmBuild/SPECS/qt-everywhere-opensource-src-4.7.4.spec AllMake.stage4
    2. Repair libccmio download website:
      sed -i 's=https://wci.llnl.gov/codes/visit/3rd_party=http://portal.nersc.gov/svn/visit/trunk/third_party=' \
        rpmBuild/SPECS/libccmio-2.6.1.spec AllMake.stage3
  10. Build the several stages of the ThirdParty folder in a single go:
    # 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
  11. 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
  12. 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 > make.log 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > make.log 2>&1
  13. To check if everything went well:
    #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
  14. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.

Discussion thread where you can ask questions about these steps: none so far.


2.3 Ubuntu 12.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: none so far.

Steps:

  1. Switch to root mode (administrator) and install the necessary packages (run one line at a time):
    sudo -s
     
    #if the 'sudo' command tells you're not in the sudoers list,
    #then remove the # from the next line:
    #su -
     
    #these 3 lines count as a single line, due to the blackslash "\" character
    apt-get install git flex bison rpm g++ zlib1g-dev binutils-dev \
    openmpi-bin libopenmpi-dev paraview libstdc++5
     
    exit
  2. 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
  3. The next command will depend on the repository mirror you want to use:
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/OpenFOAM-1.6-ext.git
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git
    • Extend's official repository (currently still off-line, see Main_Page):
      git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror ogoe@github repository:
      git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  4. After the cloning is complete, go into the cloned folder:
    cd OpenFOAM-1.6-ext
  5. 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
  6. 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
  7. 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.
  8. Activate the environment and save it in the personal .bashrc file:
    source etc/bashrc
     
    echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
  9. Now we need to do several repairs to the Third-Party specs files, due to several changes that occurred on the Internet since the last major update of 1.6-ext, so first go into the ThirdParty folder:
    cd ThirdParty

    Then:

    1. Repair Qt's download website:
      sed -i 's=http://get.qt.nokia.com=ftp://ftp.qt-project.org=' \
        rpmBuild/SPECS/qt-everywhere-opensource-src-4.7.4.spec AllMake.stage4
    2. Repair libccmio download website:
      sed -i 's=https://wci.llnl.gov/codes/visit/3rd_party=http://portal.nersc.gov/svn/visit/trunk/third_party=' \
        rpmBuild/SPECS/libccmio-2.6.1.spec AllMake.stage3
  10. Build the several stages of the ThirdParty folder in a single go:
    # 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
  11. 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
  12. 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 > make.log 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > make.log 2>&1
  13. To check if everything went well:
    #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
  14. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.

Discussion thread where you can ask questions about these steps: none so far.


2.4 Ubuntu 12.10

Here you have a few choices:


Discussion thread where you can ask questions about these steps: none so far.

Steps:

  1. Switch to root mode (administrator) and install the necessary packages (run one line at a time):
    sudo -s
     
    #if the 'sudo' command tells you're not in the sudoers list,
    #then remove the # from the next line:
    #su -
     
    #these 2 lines count as a single line, due to the blackslash "\" character
    apt-get install git flex bison rpm g++ 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
  2. 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
  3. The next command will depend on the repository mirror you want to use:
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/OpenFOAM-1.6-ext.git
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git
    • Extend's official repository (currently still off-line, see Main_Page):
      git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror ogoe@github repository (it's missing patches for Gcc 4.7.x, so use this one only as a last resort):
      git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  4. After the cloning is complete, go into the cloned folder:
    cd OpenFOAM-1.6-ext
  5. 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
  6. 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
  7. 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.
  8. Activate the environment and save it in the personal .bashrc file:
    source etc/bashrc
     
    echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
  9. Now we need to do several repairs to the Third-Party specs files, due to several changes that occurred on the Internet since the last major update of 1.6-ext, so first go into the ThirdParty folder:
    cd ThirdParty

    Then:

    1. Repair Qt's download website:
      sed -i 's=http://get.qt.nokia.com=ftp://ftp.qt-project.org=' \
        rpmBuild/SPECS/qt-everywhere-opensource-src-4.7.4.spec AllMake.stage4
    2. Repair libccmio download website:
      sed -i 's=https://wci.llnl.gov/codes/visit/3rd_party=http://portal.nersc.gov/svn/visit/trunk/third_party=' \
        rpmBuild/SPECS/libccmio-2.6.1.spec AllMake.stage3
    3. Do not build cmake:
      sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  10. 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
  11. 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
  12. 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 > make.log 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > make.log 2>&1
  13. To check if everything went well:
    #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
  14. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.

Discussion thread where you can ask questions about these steps: none so far.


2.5 Ubuntu 13.04

Here you have a few choices:


Discussion thread where you can ask questions about these steps: none so far.

Steps:

  1. Switch to root mode (administrator) and install the necessary packages (run one line at a time):
    sudo -s
     
    #if the 'sudo' command tells you're not in the sudoers list,
    #then remove the # from the next line:
    #su -
     
    #these 2 lines count as a single line, due to the blackslash "\" character
    apt-get install git flex bison rpm g++ 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
  2. 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
  3. The next command will depend on the repository mirror you want to use:
    • Mirror at repo.or.cz repository:
      git clone git://repo.or.cz/OpenFOAM-1.6-ext.git
    • Mirror at repo.or.cz repository (http mode, if you're behind a firewall):
      git clone http://repo.or.cz/r/OpenFOAM-1.6-ext.git
    • Extend's official repository (currently still off-line, see Main_Page):
      git clone git://openfoam-extend.git.sourceforge.net/gitroot/openfoam-extend/OpenFOAM-1.6-ext
    • Mirror ogoe@github repository (it's missing patches for Gcc 4.7.x, so use this one only as a last resort):
      git clone git://github.com/ogoe/OpenFOAM-1.6-ext.git OpenFOAM-1.6-ext
  4. After the cloning is complete, go into the cloned folder:
    cd OpenFOAM-1.6-ext
  5. 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
  6. 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
  7. 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.
  8. Activate the environment and save it in the personal .bashrc file:
    source etc/bashrc
     
    echo "source $HOME/OpenFOAM/OpenFOAM-1.6-ext/etc/bashrc" >> $HOME/.bashrc
  9. Now we need to do several repairs to the Third-Party specs files, due to several changes that occurred on the Internet since the last major update of 1.6-ext, so first go into the ThirdParty folder:
    cd ThirdParty

    Then:

    1. Repair Qt's download website:
      sed -i 's=http://get.qt.nokia.com=ftp://ftp.qt-project.org=' \
        rpmBuild/SPECS/qt-everywhere-opensource-src-4.7.4.spec AllMake.stage4
    2. Repair libccmio download website:
      sed -i 's=https://wci.llnl.gov/codes/visit/3rd_party=http://portal.nersc.gov/svn/visit/trunk/third_party=' \
        rpmBuild/SPECS/libccmio-2.6.1.spec AllMake.stage3
    3. Do not build cmake:
      sed -i 's=^( rpm_make -p cmake=#( rpm_make -p cmake=' AllMake.stage1
  10. 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
  11. 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
  12. 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 > make.log 2>&1
     
    #Run it a second time for getting a summary of the installation
    ./Allwmake > make.log 2>&1
  13. To check if everything went well:
    #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
  14. Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.6-ext/doc/Guides-a4/UserGuide.pdf.

Discussion thread where you can ask questions about these steps: none so far.