Mac OSX Installation
From Gerris
Mac OS X 10.10 (Yosemite) installation with brew
Gerris installation on Yosemite seems pretty straightforward using brew. Follow exactly the 10.8 procedure, just two warnings
% brew install gfortran
is replaced by
% brew install gcc
and
% brew install netcdf
is not available. To have gunplot with X11 I needed
% brew install gnuplot --with-x11
Off-screen rendering has not been tested.
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. Note: on OS 10.9 it is recommended to use:
% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
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.
- get the source of the latest version from the homepage of startup-notification
- move the source to ~/soft and unpack it. Dive into the newly created folder.
- 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
- 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).
- You will need the Apple development tools installed - this is a free download from http://developer.apple.com/tools/.
- 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 .)
- Install Fink (http://finkproject.org).
- 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.
- 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.
- Download the DMG from http://glozer.net/darcs/, and mount it.
- From the DMG, Drag GMP.Framework into /Library/Frameworks.
- From the DMG, put the 'darcs' executable wherever you wish (e.g. /usr/local/bin).
- 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
- 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
- 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.
- 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
- 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
- Test your installation. Beware of end of line characters.
- 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.
- Download the latest SVN snapshot from http://ffmpeg.org/releases/
- Unpack and install it.
tar -xvjf ffmpeg-export-snapshot.tar.bz2 cd ffmpeg-export-<insert date here> ./configure --prefix=/opt/gerris make && make install