Skip to content
Snippets Groups Projects
Commit d02e1ff7 authored by Oliver Sander's avatar Oliver Sander
Browse files

the documentation on how to install external libraries has been moved to dune-web

[[Imported from SVN: r5388]]
parent a835fbd0
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@ SUBDIRS = devel doxygen layout buildsystem
if BUILD_DOCS
# only build html when wml is available
if WML
PAGES = view-concept.html installation-notes.html contrib-software.html
PAGES = view-concept.html installation-notes.html
endif
endif
......
# -*- html -*-
# $Id$
#use wml::layout::default title="DUNE - Contrib Software Installation Notes"
<h1>Contrib Software Installation Notes</h1>
<h2>Additional Grids supported by DUNE</h2>
<p>
The following external grids support the DUNE Grid interface:
<p>
<table>
<tbody>
<tr><td>ALBERTA</td><td>1.2</td><td><a href="http://www.alberta-fem.de/">http://www.alberta-fem.de/</a></td></tr>
<tr><td>ALUGrid</td><td>1.0</td><td><a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/</a></td></tr>
<tr><td>UG (non-free licence)</td><td></td><td><a href="http://sit.iwr.uni-heidelberg.de/~ug/">http://sit.iwr.uni-heidelberg.de/~ug/</a></td></tr>
</tbody>
</table>
<p>
Within the DUNE source tree OneDGrid, SGrid and YaspGrid are
available.
</p>
<h2>ALBERTA Grid</h2>
<h3>Dependencies</h3>
<p>
The following packages are mandatory to compile ALBERTA:
</p>
<dl>
<dt>Fortran 77</dt><dd>compiler, e.&nbsp;g. g77</dd>
<dt>OpenGL</dt><dd> A free implementation is available from
<a href="http://www.mesa3d.org/">http://www.mesa3d.org/</a></dd>
<dt>BLAS</dt><dd><p>&quot;Basic Linear Algebra Subprograms&quot;</p>
<p>
This often comes as a package with Linux (for Debian sarge it
is called atlas3 and has to be installed together with the
header package atlas3-headers).
</p><p>
If it does not come with your distribution you can get it from
http://math-atlas.sourceforge.net
</p></dd>
</dl>
<p>
For optional packages see the README file of ALBERTA
</p>
<h3>Compilation and Installation</h3>
<ol>
<li>Download at least version 1.2 of ALBERTA from the ALBERTA homepage
<a href="http://www.alberta-fem.de">http://www.alberta-fem.de</a> </li>
<li><p>Unpack it in a directory</p>
<pre>tar xzf alberta-1.2.tar.gz</pre>
<p>and move to that directory</p>
<pre>cd alberta-1.2</pre>
</li>
<li><p>Configure ALBERTA, e. g.</p>
<pre>./configure --prefix=/directory/to/install/alberta/to \\
--with-blas-name=blas-3 --disable-shared \\
CXX=g++-3.4 CC=gcc-3.4</pre>
<p>
With --prefix the absolute path of the directory we install to has
to given, --with-blas-name we tell configure the name of our BLAS
library.
</p><p>
IMPORTANT!! Always use the --disable-shared option as shared
linking is broken in version 1.2!!
</p><p>
With the variable CC and CXX we tell configure the C and C++
compiler and linker to use. These have to be the same compilers
and linkers you will use to compile DUNE!!
</p>
<p> For more information and additional options see</p>
<pre>./configure --help</pre>
</li>
<li><p>Compile ALBERTA with</p> <pre>make</pre></li>
<li> <p>Install ALBERTA with</p> <pre>make install</pre></li>
</ol>
<h2>ALUGrid</h2>
<h3>Dependencies</h3>
<p>
There are no mandatory packages for ALUGrid.
</p><p>
For optional packages see the README file of ALUGRID.
</p>
<h3>Compilation and Installation</h3>
<ol>
<li>Download the latest version of ALUGrid from the <a href="http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/">ALUGrid homepage</a>.</li>
<li><p>Unpack it in a directory</p>
<pre>tar xzf ALUGrid-1.x.tar.gz</pre>
<p>and move to that directory</p>
<pre>cd ALUGrid-1.x</pre>
<p>and read the README file first.</p>
</li>
<li><p>Configure ALUGrid, e. g.</p>
<pre>./configure --prefix=/directory/to/install/ALUGrid/to \\
CXX=g++-3.4 CC=gcc-3.4</pre>
<p>for the sequential use of ALUGrid.</p>
<p>
With --prefix the absolute path of the directory we install to has
to be given. If no --prefix given, ALUGrid is installed into the
directory where it was unpacked.
</p>
<p>
With the variable CC and CXX we tell configure the C and C++
compiler and linker to use. These have to be the same compilers
and linkers you will use to compile DUNE!!
</p>
<p>
If you want to use the parallel version of ALUGrid one has to
proceed as follows. To compile the library you need a valid MPI version
installed. The easiest way to compile the parallel version is to use
the MPI compiler script (i.e. mpiCC or mpicxx) by calling configure with CXX="mpicxx" for
example. Optionally you can use the DUNE mpi-config tool.
As the compiler used to compile your mpi version might differ from
the version needed for DUNE instead of
specify mpi as the compiler we provide the include path and linker
path of MPI.
</p>
<p>
In order to retrieve the CPPFLAGS and LDFLAGS necessary for MPI,
dune-common offers a script <i>dune-common/bin/mpi-config</i>:
</p>
<pre>
Usage: mpi-config [OPTIONS] [LIBRARIES]
Options:
[--mpicc[=COMPILER]]
[--disable-cxx]
[--verbose]
[--version]
[--mpiversion]
[--libs]
[--cflags]
</pre>
<p>
mpi-config calls the MPI compiler and tries to extract the
parameters. One can specify which MPI compiler to use, by setting
the $MPICC environment variable or by supplying the
--mpicc=<i>MPICOMPILER</i> option.
</p>
<p>
Using mpi-config one can pass the approriate CPPFLAGS and LDFLAGS
to configure. We suppose that dune-common/bin is in your path
(for bash you can do this with: export
PATH=$PATH:/path/to/dune/modules/dune-common/bin.
</p>
<p>
E. g. for the MPI compiler <i>/opt/foo-mpi/bin/mpicc</i> (for the
default MPI compiler just skip the --mpicc=/opt/foo-mpi/bin/mpicc
options):
</p>
<pre>
./configure --prefix=/directory/to/install/ALUGrid/to \\
CXX=g++-3.4 CC=gcc-3.4 \\
CPPFLAGS="`mpi-config --cflags --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`" \\
LDFLAGS="`mpi-config --libs --disable-cxx --mpicc=/opt/foo-mpi/bin/mpicc`"
</pre>
<p>For further information and additional options see</p>
<pre>./configure --help</pre>
</li>
<li><p>Compile ALUGrid with</p> <pre>make</pre></li>
<li><p>Install ALUGrid with</p> <pre>make install</pre></li>
</ol>
<h2>UGGrid</h2>
<p>
<tt>dune-grid</tt> can make use of the UG grid manager. UG is a software tool
for the numerical solution of partial differential equations on
unstructured meshes in two and three space dimensions using multigrid
methods. UG is written in C. DUNE offers an abstraction to the UG grid
manager.
</p>
<h3>Getting UG</h3>
<p>
The appriopriate UG version for you depends on which version of DUNE you want
to use. In addition to the central UG repository we maintain sets of patches.
These patches contain bugfixes and further features that are needed for newer
versions of DUNE. For legal reasons we cannot provide a patched UG directly.
</p>
<ul>
<li>
The 1.0 release of DUNE works with the vanilla UG, available at
<a href="http://sit.iwr.uni-heidelberg.de/~ug">http://sit.iwr.uni-heidelberg.de/~ug</a>.
</li>
<li>
The 1.1 release of DUNE works with the vanilla UG plus a set
of <a href="http://www.dune-project.org/download/ug-dune-patches-1.1.diff">patches</a>.
These patches were created on 2008-04-18.
</li>
<li>
For the current svn version of DUNE you need the latest set of patches, which dates from
<a href="http://www.dune-project.org/download/ug-dune-patches-2008-11-13.diff">2008-11-13</a>.
</li>
</ul>
<p>
Here's how you get a patched UG:
<ul>
<li>
Check out the version of UG from the central repository at
<a href="http://sit.iwr.uni-heidelberg.de/~ug">http://sit.iwr.uni-heidelberg.de/~ug</a>
of the day your patch file was created on. You can do that by using the option
<tt>-D MM/DD/YYYY</tt> when checking out the sources.
UG will appear in a directory called <tt>UG</tt>.
</li>
<li>
Put the appropriate patch file in the same directory as <tt>UG</tt>.
<li>
<tt>cd UG/ug</tt>
</li>
<li>
<tt>patch -p1 < ../../my_patch_file</tt>
</li>
</ul>
<h3>Dependencies</h3>
<p>
There are no mandatory packages for UGGrid.
</p>
<p>
You can (but you don't have to) create UGGrid objects from AmiraMesh
files. For this you'll need the <a
href="http://www.amiravis.com/resources/Ext411-01-libamiramesh/index.html">AmiraMesh</a>
library.
</p>
<h3>Compilation and Installation</h3>
<ol>
<li>
<p>
Get the grid manager of the UG library. You can get a current version
from <a
href="http://sit.iwr.uni-heidelberg.de/~ug/download.html">http://sit.iwr.uni-heidelberg.de/~ug/download.html</a>.
There are two versions available, a stable release, dating back to
1998 and the current development version. You will need to download
the current development version via cvs:
</p>
<pre>
cvs -d:pserver:anonymous@sit.iwr.uni-heidelberg.de:/Users/mirror/CVS co UG/ug
cd UG/ug
</pre>
</li>
<li><p>Build the UG make system</p>
<pre>
./autogen.sh
./configure --prefix=my_favourite_ug_installation_path --enable-dune CC=g++
</pre>
<ul>
<li>
<kbd>--prefix</kbd> determines the absolute path of the directory we install to.
</li>
<li>
<kbd>--enable-dune</kbd> enables special features needed by Dune.
</li>
<li>
CC=g++ tells the build system to compile everything as C++,
even though it is technically C. This is necessary when
using UG through the DUNE interface. Don't forget that the
compiler has to be binary-compatible with the one you're using for Dune.
</li>
</ul>
</li>
<li><p>Compile UG with</p> <pre>make</pre></li>
<li><p>Install UG with</p> <pre>make install</pre></li>
</ol>
......@@ -33,11 +33,11 @@ When building the development version of DUNE you will also need
This will provide you with the core DUNE features.</p>
<p>
Some DUNE modules might support further software. Using this software
is optional. The dune-grid module for example support different
is optional. The dune-grid module for example supports different
external grid managers like Albert or UG; these have to be downloaded
separately. For a list of supported contrib software packages and
their installation see the
<a href="contrib-software.html">Contrib Software Installation Notes</a>.
their installation see the notes on
<a href="$(ROOT)/external_libraries/external_libraries.html">Installation External Libraries</a>.
</p>
<h2>Installing the core DUNE modules</h2>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment