Difference between revisions of "Installation/Mac OS/OpenFOAM 1.6 and 1.7"

From OpenFOAMWiki
Line 5: Line 5:
 
What to do:
 
What to do:
 
# Make sure that <tt>~/OpenFOAM</tt> is on a case-sensitive file-system (either a disk image or a separate partition).  Create such a file system with the Disk Utility application, at least 4Gb for a single install, but more if you want to run the tutorial on this partition (mine is 20Gb).
 
# Make sure that <tt>~/OpenFOAM</tt> is on a case-sensitive file-system (either a disk image or a separate partition).  Create such a file system with the Disk Utility application, at least 4Gb for a single install, but more if you want to run the tutorial on this partition (mine is 20Gb).
 
+
# Get the git version of OpenFOAM from http://repo.or.cz/r/OpenFOAM-1.7.x.git with <pre>git clone http://repo.or.cz/r/OpenFOAM-1.7.x.git/</pre>  The latest git version is preferable to releases.  It is supposed to be stable/tested, and will have bug fixed that releases might not have.
# Get the git version of OpenFOAM from http://repo.or.cz/r/OpenFOAM-1.7.x.git with <pre>git clone http://repo.or.cz/r/OpenFOAM-1.7.x.git/</pre>. The latest git version is preferable to releases.  It is supposed to be stable/tested, and will have bug fixed that releases might not have.
+
 
+
 
# Thirdparty-1.7 are only available as releases, download the latest tarball, and unzip to your filesystem. When using the 1.7.x git version, ThirdParty-1.7 must be renamed ThirdParty-1.7.x (or etc/bashrc must be modified).
 
# Thirdparty-1.7 are only available as releases, download the latest tarball, and unzip to your filesystem. When using the 1.7.x git version, ThirdParty-1.7 must be renamed ThirdParty-1.7.x (or etc/bashrc must be modified).
 
 
# Apply the patches to both OpenFOAM and Thirdparty.  Typically as <pre>patch -p1 < patchfile</pre>.  There are always spurious errors in this process due to files that have been diff'ed inadvertently, e.g. the git config files .gitignore, and chances that have been added to the repository.  Skip the errors, and if you are concerned take a look in the patchfile to see what it's trying to do.
 
# Apply the patches to both OpenFOAM and Thirdparty.  Typically as <pre>patch -p1 < patchfile</pre>.  There are always spurious errors in this process due to files that have been diff'ed inadvertently, e.g. the git config files .gitignore, and chances that have been added to the repository.  Skip the errors, and if you are concerned take a look in the patchfile to see what it's trying to do.
 
 
# Adapt the hard-coded compiler (<tt>gcc-mp-4.5</tt> and <tt>g+-mp-4.5</tt>) in etc/bashrc and wmake/rules/darwinIntel64/* to fit your system.  You'll need to modify <tt>c</tt>, <tt>c++</tt> and <tt>general</tt>.  Minimum gcc version is 4.3, Apple-supplied gcc with Snow Leopard is 4.2.  Hence you'll need to install a compiler.  Macports is good for this - install it from binary, it will install to /opt/local/ to keep separate from the Apple-supplied stuff.  Then do: <pre>sudo port install gcc45</pre>,  
 
# Adapt the hard-coded compiler (<tt>gcc-mp-4.5</tt> and <tt>g+-mp-4.5</tt>) in etc/bashrc and wmake/rules/darwinIntel64/* to fit your system.  You'll need to modify <tt>c</tt>, <tt>c++</tt> and <tt>general</tt>.  Minimum gcc version is 4.3, Apple-supplied gcc with Snow Leopard is 4.2.  Hence you'll need to install a compiler.  Macports is good for this - install it from binary, it will install to /opt/local/ to keep separate from the Apple-supplied stuff.  Then do: <pre>sudo port install gcc45</pre>,  
 
+
# Source ~/OpenFOAM/OpenFOAM-1.6/etc/bashrc
# source ~/OpenFOAM/OpenFOAM-1.6/etc/bashrc
+
 
+
 
+
 
+
 
# Compile OpenFOAM according to the README
 
# Compile OpenFOAM according to the README
 
# Compile ParaView using the makeParaView-script (see the README)
 
# Compile ParaView using the makeParaView-script (see the README)

Revision as of 12:12, 21 January 2011

This page describes how to install OpenFOAM 1.6 and 1.7 on Mac OS X - the procedure is almost the same for both cases. It assumes that you are already familiar with compiling OpenFOAM and gives only a rough overview on the process.

1 Sequence of actions to apply the patch

What to do:

  1. Make sure that ~/OpenFOAM is on a case-sensitive file-system (either a disk image or a separate partition). Create such a file system with the Disk Utility application, at least 4Gb for a single install, but more if you want to run the tutorial on this partition (mine is 20Gb).
  2. Get the git version of OpenFOAM from http://repo.or.cz/r/OpenFOAM-1.7.x.git with
    git clone http://repo.or.cz/r/OpenFOAM-1.7.x.git/
    The latest git version is preferable to releases. It is supposed to be stable/tested, and will have bug fixed that releases might not have.
  3. Thirdparty-1.7 are only available as releases, download the latest tarball, and unzip to your filesystem. When using the 1.7.x git version, ThirdParty-1.7 must be renamed ThirdParty-1.7.x (or etc/bashrc must be modified).
  4. Apply the patches to both OpenFOAM and Thirdparty. Typically as
    patch -p1 < patchfile
    . There are always spurious errors in this process due to files that have been diff'ed inadvertently, e.g. the git config files .gitignore, and chances that have been added to the repository. Skip the errors, and if you are concerned take a look in the patchfile to see what it's trying to do.
  5. Adapt the hard-coded compiler (gcc-mp-4.5 and g+-mp-4.5) in etc/bashrc and wmake/rules/darwinIntel64/* to fit your system. You'll need to modify c, c++ and general. Minimum gcc version is 4.3, Apple-supplied gcc with Snow Leopard is 4.2. Hence you'll need to install a compiler. Macports is good for this - install it from binary, it will install to /opt/local/ to keep separate from the Apple-supplied stuff. Then do:
    sudo port install gcc45
    ,
  6. Source ~/OpenFOAM/OpenFOAM-1.6/etc/bashrc
  7. Compile OpenFOAM according to the README
  8. Compile ParaView using the makeParaView-script (see the README)
  9. extend this Wiki-page so that those trying after you have it easier

1.1 Applying the patches

The patches are applied with these commands

cd ~/OpenFOAM/OpenFOAM-1.6
patch -p1 <OpenFOAM-1.6-Mac.patch.v1
cd ~/OpenFOAM/Thirdparty-1.6
patch -p1 <hirdParty-1.6.-Mac.patch.v1


2 Remarks on the patches

  • The patches compiled a complete OF 1.6 (with paraview) on an Intel Mac with Mac OS X 10.5 in 32 bit (***update: 64 bit works as well with minor modifications in the patches for architecture darwinIntel64)
  • libhoard does not compile under 64 bit
  • In 64 bit everything except paraview gets compiled (there seems to be a general problem with Paraview and 64 bits on the Mac) / QT needs to be built with Cocoa framework for 64 bit and the ParaView source code needs to be patched, not fully supported for now ...
  • the used compiler was thegcc-4.3 from the MacPorts-project
  • MacPorts packages "gsed" and "gawk" sould be installed where "gsed" is needed by the ThirdParty patch and "gawk" should be used instead of awk in $WM_PROJECT_DIR/bin/foamLog
  • PowerPC SHOULD work, but is untested
  • to enable parallel computations copy the libPstream from $FOAM_LIBBIN/openmpi-1.3.3 to $FOAM_LIBBIN/dummy
  • your milage may vary
  • the patch to the OF-directory has been tested on a Linux-system and doesn't break the compilation there. The ThirdParty-patch has not been tested and might break things (***update: works, slightly modified for darwinIntel64)
  • in Paraview Python has been automatically enabled
  • it has been reported for previous versions of OF on MacOSX that the give compiler-switches give not the optimal performance (OF runs slower than is to be expected). This issue has not been addressed in the patch yet
  • the stackTrace-facility currently assumes the existence of the gaddr2line-utility found in the binutils-package in MacPorts. Nevertheless it currently does not work because gaddr2line doesn't seem to recognize the format of the binaries

3 Further information

Further information on compiling OF on the Mac can be found here on the board or on this Wiki.

Discussion about these packages is in this thread on the MessageBoard.

4 Download

The actual patch files:

4.1 'Development'-version of the patch

Can be found (and downloaded via Subversion) at this address: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breeder_1.6/other/patchMacOSX

It might or might not work.