Difference between revisions of "Installation/Mac OS/OpenFOAM 2.2.2"

From OpenFOAMWiki
Line 74: Line 74:
 
Let's extract the two archives:<bash>tar -xvf OpenFOAM-2.2.2.tgz
 
Let's extract the two archives:<bash>tar -xvf OpenFOAM-2.2.2.tgz
 
tar -xvf ThirdParty-2.2.2.tgz</bash>
 
tar -xvf ThirdParty-2.2.2.tgz</bash>
Now your OF directory should like like this<bash>####@mbp-di-ruben: ~/OpenFOAM$ ls -al
+
Now your OF directory should look like this<bash>****@mbp-di-ruben: ~/OpenFOAM$ ls -al
 
total 182688
 
total 182688
drwxr-xr-x  8 #### staff      612 13 Nov 02:49 .
+
drwxr-xr-x  8 **** staff      612 13 Nov 02:49 .
 
drwxrwxrwt@  5 root            admin      170 15 Nov 15:40 ..
 
drwxrwxrwt@  5 root            admin      170 15 Nov 15:40 ..
-rw-r--r--@  1 #### staff    12292 13 Nov 03:13 .DS_Store
+
-rw-r--r--@  1 **** staff    12292 13 Nov 03:13 .DS_Store
d--x--x--x  6 #### staff      238 15 Nov 15:40 .DocumentRevisions-V100
+
d--x--x--x  6 **** staff      238 15 Nov 15:40 .DocumentRevisions-V100
drwxrwxrwt@  3 #### staff      102 12 Nov 23:29 .TemporaryItems
+
drwxrwxrwt@  3 **** staff      102 12 Nov 23:29 .TemporaryItems
d-wx-wx-wt  2 #### staff        68 12 Nov 14:43 .Trashes
+
d-wx-wx-wt  2 **** staff        68 12 Nov 14:43 .Trashes
drwx------  2 #### staff      2822 15 Nov 12:03 .fseventsd
+
drwx------  2 **** staff      2822 15 Nov 12:03 .fseventsd
drwxr-xr-x@ 10 #### staff      680 13 Nov 02:55 OpenFOAM-2.2.2
+
drwxr-xr-x@ 10 **** staff      680 13 Nov 02:55 OpenFOAM-2.2.2
-rw-r--r--@  1 #### staff  32536146 12 Nov 21:09 OpenFOAM-2.2.2.tgz
+
-rw-r--r--@  1 **** staff  32536146 12 Nov 21:09 OpenFOAM-2.2.2.tgz
-rw-r--r--@  1 #### staff    41620 13 Nov 02:49 OpenFOAM-2.2.x_Mac-20130309.patch
+
-rw-r--r--@  1 **** staff    41620 13 Nov 02:49 OpenFOAM-2.2.x_Mac-20130309.patch
-rw-r--r--@  1 #### staff      691 13 Nov 02:49 SurfaceCGALFix.patch
+
-rw-r--r--@  1 **** staff      691 13 Nov 02:49 SurfaceCGALFix.patch
drwxr-x---@  7 #### staff      782 13 Nov 02:54 ThirdParty-2.2.2
+
drwxr-x---@  7 **** staff      782 13 Nov 02:54 ThirdParty-2.2.2
-rw-r--r--@  1 #### staff  58193818 12 Nov 21:09 ThirdParty-2.2.2.tgz
+
-rw-r--r--@  1 **** staff  58193818 12 Nov 21:09 ThirdParty-2.2.2.tgz
-rw-r--r--@  1 #### staff      2686 12 Nov 21:12 ThirdParty-2.2_patch
+
-rw-r--r--@  1 **** staff      2686 12 Nov 21:12 ThirdParty-2.2_patch
 +
</bash>
 +
 
 +
Let's move the patches inside the right folders<bash># Current Folder: ~/OpenFOAM$
 +
mv OpenFOAM-2.2.x_Mac-20130309 OpenFOAM-2.2.2
 +
mv SurfaceCGALFix.patch OpenFOAM-2.2.2
 +
mv ThirdParty-2.2_Mac-20130309.patch Thirdparty-2.2.2</bash>
 
----
 
----
 +
 +
Let's apply them<bash>#Current Folder: ~/OpenFOAM
 +
cd OpenFOAM-2.2.2
 +
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
 +
patch -p1<OpenFOAM-2.2.x_Mac-20130309.patch
 +
patch -p1<SurfaCGALFix.patch
 +
cd ..
 +
#Current Folder: ~/OpenFOAM/
 +
cd ThirdParty-2.2.2
 +
#Current Folder: ~/OpenFOAM/ThirdParty-2.2.2
 +
patch -p1<ThirdParty-2.2_patch
 +
cd ..
 +
#Current Folder: ~/OpenFOAM/</bash>
 +
 +
OpenFoam patch badly writes compilers symlinks so we have to correct:<bash>#Current Folder: ~/OpenFOAM/
 +
cd OpenFOAM-2.2.2
 +
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
 +
rm wmake/rules/darwinIntel64Gcc4*
 +
cd wmake/rules
 +
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2/wmake/rules
 +
ln -s darwinIntel64Gcc/ darwinIntel64Gcc46
 +
cd ../..
 +
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2</bash>
 +
 +
Let's give write permission to '''addr2line4Mac.py'''<bash>
 +
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
 +
chmod a+x bin/addr2line4Mac.py</bash>
 
<references/>
 
<references/>

Revision as of 15:28, 15 November 2013

1 Introduction and Notes

This guide is derived from OpenFOAM 2.1.x Installation with some modifications derived thanks to help provided on this thread of CFD Online Forum . The format of the page is based on OpenFOAM 1.7.x Installation.

These compilation instructions have only been tested on the following system:

Macbook (version 6,2)
Intel Core i7 2.66Ghz
Mac OS X Mavericks (version 10.9)

These instructions may need to be tailored as required to fit your specific system if they deviate from the above; you would be able to ask support on this thread if you needed it.

Many thanks go to Bernhard Gschaider (a.k.a. gschaider) of CFD Online for maintaining the latest OpenFOAM Mac OS X patches and for the big help that he provided me.

2 Prepare your Mac OS X Environment

2.1 Macports

To install Macports you need to install xCode, you can find it on the App Store. After XCode you need to install the Command Line Tools. Installing Command Line Tools for Mavericks is different from what you would do with previous OSX versions.

2.1.1 Command Line Tools for OSX 10.9 "Mavericks"

To install CLT on OSX 10.9 open a terminal application (for example Terminal.app) and run

 
xcode-select --install

a window will be prompted where you can confirm installation.

2.1.2 Command Line Tools for OSX version < 10.9

In previous versions of OSX (and of xCode) you can download CLT directly from xCode Preferences > Downloads > Components

2.1.3 xCode License

Now you should accept the xCode License so run, always in the Terminal (this could be needed only on OSX 10.9)

 
sudo xcodebuild -license

and when asked type "agree" to accept the license. Now xCode "things" should work correctly.

2.1.4 MacPorts Installation

Now to install Macports you can download the pre-compiled package from the Official Website.

2.2 Build and Install the necessary software

To install all the tools we'll need run in Terminal:
 
sudo port selfupdate
Wait for the end of all operations then do:
 
sudo port install gcc46 openmpi boost cgal ccache flex bison

Now wait (a bit...)

3 OpenFOAM Building

3.1 Creation of Case Sensitive .sparseimage

Note: Images here shown are taken from Installation/Mac_OS/OpenFOAM_2.1.x, you could change the name of the sparseimage from OpenFOAM-v2.1 to OpenFOAM-v2.2.2 (and this will be assumed from here on)


First, we create a disk image with the Apple Disk Utility. Open /Applications/Utilities/Disk Utility. Click New Image:

Howto install OpenFOAM v21 Mac-images-010.ppm.png

It is important to set as Format: Mac OS Extended (Case-sensitive,Journaled). The sparse image will grow with the place used inside the image. Create a sparse image with the following settings (examples, you could change the values):

Howto install OpenFOAM v21 Mac-images-012.ppm.png


3.2 OpenFOAM sources and patches

Note: Rember that when you're inside the terminal you can auto-complete your commands pressing the TAB button


Download OpenFOAM 2.2.2 sources from here and patches (OpenFOAM-2.2.2 Patch || SurfaceCGAL Fix || ThirdParty Patch) [1] and put everything inside the .sparseimage (you probably saved in ~/Documents).

Open a Terminal, create a symlink to the OF image:
 ln -s /Volumes/OpenFOAM-v2.2.2 OpenFOAM
now we can go to OF directory just doing (from home directory)
cd OpenFOAM
Let's extract the two archives:
tar -xvf OpenFOAM-2.2.2.tgz
tar -xvf ThirdParty-2.2.2.tgz
Now your OF directory should look like this
****@mbp-di-ruben: ~/OpenFOAM$ ls -al
total 182688
drwxr-xr-x   8 ****  staff       612 13 Nov 02:49 .
drwxrwxrwt@  5 root             admin       170 15 Nov 15:40 ..
-rw-r--r--@  1 ****  staff     12292 13 Nov 03:13 .DS_Store
d--x--x--x   6 ****  staff       238 15 Nov 15:40 .DocumentRevisions-V100
drwxrwxrwt@  3 ****  staff       102 12 Nov 23:29 .TemporaryItems
d-wx-wx-wt   2 ****  staff        68 12 Nov 14:43 .Trashes
drwx------   2 ****  staff      2822 15 Nov 12:03 .fseventsd
drwxr-xr-x@ 10 ****  staff       680 13 Nov 02:55 OpenFOAM-2.2.2
-rw-r--r--@  1 ****  staff  32536146 12 Nov 21:09 OpenFOAM-2.2.2.tgz
-rw-r--r--@  1 ****  staff     41620 13 Nov 02:49 OpenFOAM-2.2.x_Mac-20130309.patch
-rw-r--r--@  1 ****  staff       691 13 Nov 02:49 SurfaceCGALFix.patch
drwxr-x---@  7 ****  staff       782 13 Nov 02:54 ThirdParty-2.2.2
-rw-r--r--@  1 ****  staff  58193818 12 Nov 21:09 ThirdParty-2.2.2.tgz
-rw-r--r--@  1 ****  staff      2686 12 Nov 21:12 ThirdParty-2.2_patch
Let's move the patches inside the right folders
# Current Folder: ~/OpenFOAM$ 
mv OpenFOAM-2.2.x_Mac-20130309 OpenFOAM-2.2.2
mv SurfaceCGALFix.patch OpenFOAM-2.2.2
mv ThirdParty-2.2_Mac-20130309.patch Thirdparty-2.2.2

Let's apply them
#Current Folder: ~/OpenFOAM
cd OpenFOAM-2.2.2
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
patch -p1<OpenFOAM-2.2.x_Mac-20130309.patch
patch -p1<SurfaCGALFix.patch
cd ..
#Current Folder: ~/OpenFOAM/
cd ThirdParty-2.2.2
#Current Folder: ~/OpenFOAM/ThirdParty-2.2.2
patch -p1<ThirdParty-2.2_patch
cd ..
#Current Folder: ~/OpenFOAM/ 
 
OpenFoam patch badly writes compilers symlinks so we have to correct:
#Current Folder: ~/OpenFOAM/
cd OpenFOAM-2.2.2
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
rm wmake/rules/darwinIntel64Gcc4*
cd wmake/rules
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2/wmake/rules
ln -s darwinIntel64Gcc/ darwinIntel64Gcc46
cd ../..
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2 
 
Let's give write permission to addr2line4Mac.py
 
#Current Folder: ~/OpenFOAM/OpenFOAM-2.2.2
chmod a+x bin/addr2line4Mac.py
  1. More updated patches could be possibly found on this CFD Online Thread