Mac OSX Installation

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 10:55, 8 November 2007
Zaleski (Talk | contribs)
(The PATH has to be updated before compilation)
← Previous diff
Revision as of 19:55, 26 October 2012
Arnaud.antkowiak (Talk | contribs)
(Addition of a trick to get off-screen rendering on Mac)
Next diff →
Line 1: Line 1:
-== OS X 10.4 (Intel) Installation ==+== Mac OS X 10.8 (Mountain Lion) installation with brew ==
-Below are steps that have worked for at least two people, installing Gerris under Mac OS X 10.4 (Intel). + 
 +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 [http://xquartz.macosforge.org XQuartz homepage] and download the package. Make sure to restart your session before going further.
 +; brew : [http://mxcl.github.com/homebrew/ Homebrew] is a package manager that will make gerris (and dependencies) installation smooth and manageable. To install brew, just enter
 +<pre>
 +% ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
 +</pre>
 +on the prompt.
 + 
 +=== Where to store gerris? ===
 + 
 +I strongly suggest to create a dedicated repository, e.g. ~/soft, for storing gerris and related software.
 + 
 +<pre>
 +% cd
 +% mkdir soft
 +</pre>
 + 
 +=== Paths ===
 + 
 +For installed software to be properly localized, various environment variables have to be set accordingly in ~/.bashrc
 + 
 +<pre>
 +% 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
 +</pre>
 + 
 +Note: make sure that the file ~/.profile contains the line
 + 
 +<pre>
 +source ~/.bashrc
 +</pre>
 + 
 +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:
 +<pre>
 +% brew install gtkglext
 +% brew install gnuplot
 +% brew install gawk
 +% brew install gsl
 +% brew install gfortran
 +% brew install open-mpi
 +% 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
 +</pre>
 +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.
 +# 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]
 +# move the source to ~/soft and unpack it. Dive into the newly created folder.
 +# compile the software
 + 
 +<pre>
 +% ./configure --prefix=$HOME/soft
 +% make
 +% make install
 +</pre>
 + 
 +=== GTS, Gerris and Gfsview ===
 + 
 +We're almost done!
 +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.
 + 
 +; GTS compilation
 +From the GTS source directory, do
 +<pre>
 +./configure --prefix=$HOME/soft
 +make
 +make install
 +</pre>
 + 
 +; Gerris compilation
 +From the Gerris source directory, do
 +<pre>
 +./configure --prefix=$HOME/soft
 +make
 +make install
 +</pre>
 + 
 +; Gfsview compilation
 +From the Gfsview source directory, do
 +<pre>
 +LDFLAGS="-L/opt/X11/lib" sh autogen.sh --prefix=$HOME/soft
 +make
 +make install
 +</pre>
 + 
 +=== Off-screen rendering ===
 + 
 +With the preceding method, you won't have access to off-screen rendering (gfsview-batch). There are tricks to overcome this limitation though.
 +One solution to get a functional gfsview-batch is to get the latest version of [http://cgit.freedesktop.org/mesa/glu/ GLU]. After unpacking the tarball into ~/soft, type from the source directory
 +<pre>
 +./autogen.sh
 +./configure --enable-osmesa --prefix=$HOME/soft
 +make
 +make install
 +</pre>
 + 
 +and then recompile Gfsview using
 + 
 +<pre>
 +make clean
 +LDFLAGS="-L$HOME/soft/lib" sh autogen.sh --prefix=$HOME/soft
 +make
 +make install
 +</pre>
 + 
 +(you probably want to make sure that paths beginning with $HOME/soft are read 'before' that beginning with /opt/X11 in your .bashrc)
 + 
 +'''Note that this trick will deactivate the standard (X11) Gfsview'''.
 + 
 +=== 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 [[Installing from source|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
 +[https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-]
 +; 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 [[Download|source tarball]] or [[darcs installation|use darcs]]. In the latter case you need to install [http://darcs.net/ 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 [http://hpc.sourceforge.net/ 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:
 + 
 +<pre>
 +export ACLOCAL_FLAGS="-I/opt/local/share/aclocal $ACLOCAL_FLAGS"
 +</pre>
 + 
 +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.
 + 
 +<pre>
 +export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig":"/opt/gerris/lib/pkgconfig":"/usr/lib/pkgconfig":"/usr/local/lib/pkgconfig"
 +</pre>
 + 
 +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
 +<pre>
 +sudo port install pkgconfig glib2-devel gtkglext startup-notification gawk ffmpeg libtool
 +</pre>
 + 
 +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.
 +<pre>
 +% sudo ln -s /opt/local/bin/openmpirun /usr/local/bin/mpirun
 +% sudo ln -s /opt/local/bin/openmpicc /usr/local/bin/mpicc
 +</pre>
 + 
 +=== Installing gerris ===
 + 
 +Follow the steps indicated in [[Installing from source|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 [[Talk:Mac_OSX_Installation|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 [http://developer.apple.com/qa/qa2007/qa1567.html 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).
<ol> <ol>
-<li>Install Fink (http://finkproject.org). You will need the Apple development tools installed - this is a free download from http://developer.apple.com/tools/.</li>+<li> You will need the Apple development tools installed - this is a free download from http://developer.apple.com/tools/.</li>
 +<li> 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 [[User:Zaleski | I]] could figure out). If X11 is not installed, in OS X 10.4 you ''need to'' reinstall your system from the DVD (See [http://developer.apple.com/opensource/tools/runningx11.html here]). Reinstalling the system will not remove your user files. (For comparison, on [[User:Zaleski | my]] system, the versions were X11 1.1.3 - XFree86 4.4.0 .)</li>
 +<li>Install Fink (http://finkproject.org).</li>
<li>Install various dependencies that Gerris requires. <li>Install various dependencies that Gerris requires.
<pre> <pre>
Line 10: Line 334:
startup-notification-shlibs startup-notification-shlibs
</pre> </pre>
 +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.
</li> </li>
Line 22: Line 347:
<li>From a suitable folder, obtain the latest versions of GTS, Gerris, and GfsView. <li>From a suitable folder, obtain the latest versions of GTS, Gerris, and GfsView.
<pre> <pre>
-darcs get http://gfs.sf.net/darcs/gerris/gerris-stable+darcs get http://gerris.dalembert.upmc.fr/darcs/gerris-stable
-darcs get http://gts.sf.net/darcs/gts-mainline+darcs get http://gerris.dalembert.upmc.fr/darcs/gts-stable
-darcs get http://gfs.sourceforge.net/darcs/gfsview/gfsview-mainline+darcs get http://gerris.dalembert.upmc.fr/darcs/gfsview-stable
</pre> </pre>
</li> </li>
 +
<li>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. <li>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.
<pre> <pre>
Line 32: Line 358:
</pre> </pre>
</li> </li>
-<li> Check your version of automake. Currently (November 8, 2007) this installation procedure works with automake 1.6.3 which is+ 
-on your system by default. Delete any more recent packages, for instance packages installed by fink. In the future, more recent packages may be needed. </li>+<li> Check your version of automake:
-<li>Add the gerris directory to your path (so gts-config works properly).+<pre>
 +% automake --version
 +</pre>
 +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.
 +</li>
 + 
 +<li>Add the gerris directory to your path (so gts-config works properly), also add the fink directory.
<pre> <pre>
-echo "export PATH=$PATH:/opt/gerris/bin" >> ~/.profile+echo "export PATH=$PATH:/opt/gerris/bin:/sw/bin" >> ~/.profile
</pre> </pre>
</li> </li>
<li>Compile and install GTS, Gerris and GfsView. <li>Compile and install GTS, Gerris and GfsView.
<pre> <pre>
-cd gts-mainline+cd gts-stable
sh autogen.sh --prefix=/opt/gerris sh autogen.sh --prefix=/opt/gerris
make && make install make && make install
Line 48: Line 381:
sh autogen.sh --prefix=/opt/gerris sh autogen.sh --prefix=/opt/gerris
make && make install make && make install
-cd ../gfsview-mainline+cd ../gfsview-stable
sh autogen.sh --prefix=/opt/gerris sh autogen.sh --prefix=/opt/gerris
make && make install make && make install
</pre></li> </pre></li>
-<li> You're done !+<li> Test your installation. Beware of [[FAQ#My simulation file looks fine but does not work, why?|end of line characters]]. </li>
 +<li>You're done !
</li> </li>
</ol> </ol>
Line 60: Line 394:
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. 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.
<ol> <ol>
-<li>Download the latest SVN snapshot from http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2</li>+<li>Download the latest SVN snapshot from http://ffmpeg.org/releases/</li>
<li>Unpack and install it. <li>Unpack and install it.
<pre> <pre>

Revision as of 19:55, 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 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

Off-screen rendering

With the preceding method, you won't have access to off-screen rendering (gfsview-batch). There are tricks to overcome this limitation though. One solution to get a functional gfsview-batch is to get the latest version of GLU. After unpacking the tarball into ~/soft, type from the source directory

./autogen.sh
./configure --enable-osmesa --prefix=$HOME/soft
make
make install

and then recompile Gfsview using

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

(you probably want to make sure that paths beginning with $HOME/soft are read 'before' that beginning with /opt/X11 in your .bashrc)

Note that this trick will deactivate the standard (X11) Gfsview.

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