Mac OSX Installation

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 19:06, 26 October 2012
Arnaud.antkowiak (Talk | contribs)
(Description of MAC OS X 10.8 (Mountain Lion) installation)
← Previous diff
Revision as of 19:20, 26 October 2012
Arnaud.antkowiak (Talk | contribs)
(Slight typos and reformatting on last edit)
Next diff →
Line 25: Line 25:
=== Paths === === Paths ===
-For installed software to be properly localized, various environment variables have to set accordingly in ~/.bashrc+For installed software to be properly localized, various environment variables have to be set accordingly in ~/.bashrc
<pre> <pre>
Line 65: Line 65:
; startup-notification : Unfortunately, there is no package for startup-notification. But the software can be easily installed. ; startup-notification : Unfortunately, there is no package for startup-notification. But the software can be easily installed.
-1) get the source of the latest version [http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz from the homepage of startup-notification]+# get the source of the latest version [http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz from the homepage of startup-notification]
-2) move the source to ~/soft and unpack it. Dive into the newly created folder.+# move the source to ~/soft and unpack it. Dive into the newly created folder.
-3) compile the software+# compile the software
<pre> <pre>
Line 80: Line 80:
First, [http://gfs.sourceforge.net/wiki/index.php/Download fetch the tarballs] of the latest versions of GTS, Gerris and Gfsview. Put them in ~/soft and untar them. First, [http://gfs.sourceforge.net/wiki/index.php/Download fetch the tarballs] of the latest versions of GTS, Gerris and Gfsview. Put them in ~/soft and untar them.
-; Compilation of GTS :+; GTS compilation
- From the GTS source directory, do+From the GTS source directory, do
<pre> <pre>
./configure --prefix=$HOME/soft ./configure --prefix=$HOME/soft
Line 88: Line 88:
</pre> </pre>
-; Compilation of Gerris :+; Gerris compilation
- From the Gerris source directory, do+From the Gerris source directory, do
<pre> <pre>
./configure --prefix=$HOME/soft ./configure --prefix=$HOME/soft
Line 96: Line 96:
</pre> </pre>
-; Compilation of Gfsview :+; Gfsview compilation
- From the Gfsview source directory, do+From the Gfsview source directory, do
<pre> <pre>
LDFLAGS="-L/opt/X11/lib" sh autogen.sh --prefix=$HOME/soft LDFLAGS="-L/opt/X11/lib" sh autogen.sh --prefix=$HOME/soft

Revision as of 19:20, 26 October 2012

Contents

Mac OS X 10.8 (Mountain Lion) installation with brew

Gerris installation on Mountain Lion is pretty straightforward using brew (using a different package manager, e.g. Macports, should not be a problem -- see the Wiki's history).

Prerequisites

XCode 
XCode's installation is mandatory. Since Mac OS X 10.7, XCode can be downloaded from the Mac App Store.
Command line tools 
standard command-line tools (C compiler, git...) are provided with XCode as an optional package. To install these tools, go to XCode preferences (keyboard shortcut Cmd-; ) and just check "Install command-line tools"
XQuartz 
Apple no more ships an X11 server as of Mountain Lion. X11 is now provided by the project XQuartz. To install it, go to the XQuartz homepage and download the package. Make sure to restart your session before going further.
brew 
Homebrew is a package manager that will make gerris (and dependencies) installation smooth and manageable. To install brew, just enter
% ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

on the prompt.

Where to store gerris?

I strongly suggest to create a dedicated repository, e.g. ~/soft, for storing gerris and related software.

% cd
% mkdir soft

Paths

For installed software to be properly localized, various environment variables have to be set accordingly in ~/.bashrc

% export PATH=$PATH:$HOME/soft/bin
% export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/X11/lib:$HOME/soft/lib
% export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/X11/lib/pkgconfig/:$HOME/soft/lib/pkgconfig

Note: make sure that the file ~/.profile contains the line

source ~/.bashrc

for these changes to be taken into account.

Gerris dependencies

Now that brew is installed, almost every dependency needed by gerris can be installed in just a single command line:

% brew install gtkglext
% brew install gnuplot
% brew install gawk
% brew install gsl
% brew install gfortran
% brew install open-mpi
% brew install netpbm (BROKEN)
% brew install proj
% brew install netcdf
% brew install ode
% brew install fftw
% brew install ffmpeg --with-theora
% brew install coreutils
% brew install autoconf
% brew install libtool
% brew install automake

Note that as of October, 26th 2012 the package netpbm is broken, but this wont' affect the gerris installation. Moreover, DO NOT install ftgl to avoid further compilation issues.

startup-notification 
Unfortunately, there is no package for startup-notification. But the software can be easily installed.
  1. get the source of the latest version from the homepage of startup-notification
  2. move the source to ~/soft and unpack it. Dive into the newly created folder.
  3. compile the software
% ./configure --prefix=$HOME/soft
% make
% make install

GTS, Gerris and Gfsview

We're almost done! First, fetch the tarballs of the latest versions of GTS, Gerris and Gfsview. Put them in ~/soft and untar them.

GTS compilation

From the GTS source directory, do

./configure --prefix=$HOME/soft
make
make install
Gerris compilation

From the Gerris source directory, do

./configure --prefix=$HOME/soft
make
make install
Gfsview compilation

From the Gfsview source directory, do

LDFLAGS="-L/opt/X11/lib" sh autogen.sh --prefix=$HOME/soft
make
make install

Note that with this simple method, you won't have access to off-screen rendering (gfsview-batch). There are tricks however to overcome this limitation, see below.

Feedback

If some of these steps do not work for you or you find that corrections to this wiki are warranted, write to the mailing list or edit the wiki, or both.

Mac OS X 10.7 Lion Installation with MacPorts

Gerris installs and works fine on Lion and did install fine on older systems. Look at the Wiki's history for help on other systems.

Installation on Macs is an installation from source, not from packages, so you need to know a little bit of linux, how to use line commands in the Terminal etc...

Prerequisites

Xcode 
You need to install the latest version of Xcode.
Command line tools 
You need also to install the line command tools. Without this, you do not even have a C compiler. This may be invisible when you run "configure" for Gerris. Moreover, you may still have the gcc from Macports, but you won't have apple's gcc. You can find the command line tools at

[1]

Macports
A typical way to install is using MacPorts, and without the line command tools it will not work. See also Brew below.
Getting the sources
You may either download and unpack a source tarball or use darcs. In the latter case you need to install Darcs in order to download the gerris sources.

Updating from older systems:

gfortran 
If you're using gfortran AND if you migrated your old data (from Snow Leopard, Leopard or Tiger), take care to update your gfortran installation. Make sure to untar the package in the root directory otherwise your gfrotran will be in a funny location.
fink 
If you had fink previously installed and wish to use MacPorts you should uninstall the fink stuff, remove the /sw library and modify the environment variables accordingly.

Environment variables:

Be careful that the ACLOCAL path is set like:

export ACLOCAL_FLAGS="-I/opt/local/share/aclocal $ACLOCAL_FLAGS"

You should also take care to avoid conflicts with libraries that may have been installed elsewhere. One way to avoid the conflicts is to set the MacPorts library first in the PKG_CONFIG_PATH variable.

export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig":"/opt/gerris/lib/pkgconfig":"/usr/lib/pkgconfig":"/usr/local/lib/pkgconfig"

The Gerris configure will read this variable and get the right MacPort libraries. There is in fact a whole lot of other environment variables that should be set to use with MacPorts to paths starting with /opt/local, read the MacPorts documentation.

Package installation

The packages must installed as in

sudo port install pkgconfig glib2-devel gtkglext startup-notification gawk ffmpeg libtool

You also need to install autoconf and automake. You need to chose the right version: currently, 2.69 for autoconf and 1.12 for automake

MPI support

Many Macs are multicore so you can do make -j 4 and cool parallel simulations. To have mpi you need to install openmpi using macports and link openmpirun to mpirun and openmpicc to mpicc.

% sudo ln -s /opt/local/bin/openmpirun /usr/local/bin/mpirun
% sudo ln -s /opt/local/bin/openmpicc /usr/local/bin/mpicc

Installing gerris

Follow the steps indicated in installation from source. Download the source (preferably using darcs), then run autogen, for gts, gerris and gfsview.

There were difficulties in the past with gfsview installation because of conflicts with gtk2 and gtkglext packages, but as of Apr 16, 2011 the MacPorts packages were working fine. See the discussion page for a record of these problems and how they were solved.

Feedback

If some of these steps do not work for you or you find that corrections to this wiki are warranted, write to the mailing list or edit the wiki, or both.

Mac OS X 10.6 Snow Leopard (Intel) Installation with "brew"

This is only a recipe (sorry), it works for an out of the box machine (no Fink, no Macports, only XCode has to be present). First install brew and the packages, then gerris from source.


Install "brew"

Start by the installation of homebrew ( see the exact procedure on the web page, it changes)

https://github.com/mxcl/homebrew/wiki/installation


ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
sudo mkdir -p /usr/local
sudo chown -R $USER:staff /usr/local
curl -Lsf http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C/usr/local
brew install git
git clone http://github.com/mxcl/homebrew.git /tmp/homebrew
mv /tmp/homebrew/.git /usr/local/
rm -rf /tmp/homebrew

Now that brew is installed, we can add packages, such as gnuplot, gawk and other useful packages

brew search gnuplot
brew info gnuplot
brew install gnuplot
brew install gawk
brew install ffmpeg
brew install imagemagick 
brew install GtkGlExt
brew install gsl
brew install coreutils


Open the hidden file ".bashrc" in your "home", with "vi" or emacs or ...

vi ~/.bashrc

if you use vi, press "i" to be in insert mode (see -- INSERT-- at the bottom), paste the following

export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

go out the file with "ESC" and ":wq" then do, to update your path

source ~/.bashrc


You have to download "startup-notification" on the web

http://www.freedesktop.org/wiki/Software/startup-notification

Caution: the -0.10 works, the -0.12 don not due to a XCB bug fixed in the -0.10 compile and install (put the good User Name)

cd /Users/pyl/Downloads/startup-notification-0.10 
./configure
make
sudo make install

Installing Gerris from tarball

go to gerris

http://gfs.sourceforge.net/wiki/index.php/Download

take all the three tarball in the Download directory, unzip them and start:

cd ../gts-snapshot-* 
./configure
make
sudo make install

Be careful that the ACLOCAL path is set like:

export ACLOCAL_FLAGS="-I/usr/local/share/aclocal"

Take gerris on the website then

 cd ../gerris-snapshot-*
 ./configure
 make
 sudo make install
 gerris2D -V

It works! More difficult, take gfsview then

cd ../gfsview-snapshot-* 

Now, open the file "configure.in" remove everything between "PKG_CHECK_MODULES(OSMESA,..." line 59 and "AM_CONDI.." add "have_osmesa=no" if using vi, erase line with "dd", and insert "i" the line

 have_osmesa=no

in between. e.g. in this file the lines are now :

PKG_CHECK_MODULES(OSMESA, [ osmesa ], [ have_osmesa=yes ], [ have_osmesa=no ])
have_osmesa=no
AM_CONDITIONAL(HAVE_OSMESA, test "x$have_osmesa" = "xyes")

go out and save (esc :wq) configure.in

Prompt exactly

LDFLAGS="-L/usr/X11/lib" sh autogen.sh

compile

make
sudo make install
gfsview2D

enjoy!

X11 on MacBook: you need a three-button mouse or trackpad emulation

You need either to connect a three-button mouse to your Mac or have the middle and right-click functions of a mouse emulated on the trackpad. Go into the X11 application (it can be reached inside your Dock) then under the X11 menu go into "Preferences" and select "emulate a three button mouse".

Then press the "Command" (cmd) key and move ONE finger on the trackpad while clicking on the trackpad to emulate the right-click on the mouse and move around the gfs view. Press the "Command" (cmd) key and move TWO fingers on the trackpad to emulate the center-click on the mouse or the scrolling, to zoom in and out these pretty gfsview images ...

Mac OS X 10.5 (Intel) Installation with fink

The instructions below for 10.4 should work but there is an OpenGL bug in Xcode 3.0. Either upgrade to Xcode 3.1 or later, or use the following fix when configuring/compiling gfsview:

cd ../gfsview-stable
LDFLAGS="-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib sh autogen.sh --prefix=/opt/gerris
make && make install


Mac OS X 10.4 (Intel) Installation with fink

Below are steps that have worked for at least three people, installing Gerris under Mac OS X 10.4 (Intel).

  1. You will need the Apple development tools installed - this is a free download from http://developer.apple.com/tools/.
  2. Check that you have Apple's X11 and the X11 SDK installed. They are not installed by default on a new machine (at least as far as I could figure out). If X11 is not installed, in OS X 10.4 you need to reinstall your system from the DVD (See here). Reinstalling the system will not remove your user files. (For comparison, on my system, the versions were X11 1.1.3 - XFree86 4.4.0 .)
  3. Install Fink (http://finkproject.org).
  4. Install various dependencies that Gerris requires.
    sudo fink install pkgconfig glib2 glib2-dev glib2-shlibs gtk+2 gtk+2-dev \
                      gtkglext1 startup-notification-dev \
                      startup-notification-shlibs
    

    Other packages may also be necessary. Look at the error messages during the configuration steps below to see what packages may be missing. Then the best way to resolve the problem may be to install "fink commander". Then search for all the packages that have a name beginning with pango, gtk+, atk1 and install all of them. Trial and error should eventually lead you to a full installation of all the necessary packages.

  5. Install darcs (needed to obtain the latest version of Gerris, GTS, and GfsView - the packaged versions available on the web do not work). Darcs is not available in Fink either.
    1. Download the DMG from http://glozer.net/darcs/, and mount it.
    2. From the DMG, Drag GMP.Framework into /Library/Frameworks.
    3. From the DMG, put the 'darcs' executable wherever you wish (e.g. /usr/local/bin).

  6. From a suitable folder, obtain the latest versions of GTS, Gerris, and GfsView.
    darcs get http://gerris.dalembert.upmc.fr/darcs/gerris-stable
    darcs get http://gerris.dalembert.upmc.fr/darcs/gts-stable
    darcs get http://gerris.dalembert.upmc.fr/darcs/gfsview-stable
    
  7. We will install these in /opt/gerris to keep them isolated from the rest of the system. This requires /opt/gerris/lib/pkgconfig to be added to your PKG_CONFIG_PATH. This directory does not exist yet - it will be created in the next step.
    echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gerris/lib/pkgconfig" >> ~/.profile
    
  8. Check your version of automake:
    % automake --version
    

    Currently (November 8, 2007) this installation procedure works with automake 1.6.3 which is on your system by default. Any later version should also work.

  9. Add the gerris directory to your path (so gts-config works properly), also add the fink directory.
    echo "export PATH=$PATH:/opt/gerris/bin:/sw/bin" >> ~/.profile
    
  10. Compile and install GTS, Gerris and GfsView.
    cd gts-stable
    sh autogen.sh --prefix=/opt/gerris
    make && make install
    cd ../gerris-stable
    sh autogen.sh --prefix=/opt/gerris
    make && make install
    cd ../gfsview-stable
    sh autogen.sh --prefix=/opt/gerris
    make && make install
    
  11. Test your installation. Beware of end of line characters.
  12. You're done !

Optional tools

If we want to generate MPEG movies using ppm2mpeg we will need ffmpeg which is not available in Fink stable, so we must install it manually.

  1. Download the latest SVN snapshot from http://ffmpeg.org/releases/
  2. Unpack and install it.
    tar -xvjf ffmpeg-export-snapshot.tar.bz2
    cd ffmpeg-export-<insert date here>
    ./configure --prefix=/opt/gerris
    make && make install
    

Personal tools
communication