Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-common
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Timo Koch
dune-common
Commits
8bc55bdb
Commit
8bc55bdb
authored
18 years ago
by
Christian Engwer
Browse files
Options
Downloads
Patches
Plain Diff
updated installation instructions
[[Imported from SVN: r4905]]
parent
f54c1b3c
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
doc/contrib-software.wml
+82
-158
82 additions, 158 deletions
doc/contrib-software.wml
doc/installation-notes.wml
+50
-23
50 additions, 23 deletions
doc/installation-notes.wml
with
132 additions
and
181 deletions
doc/contrib-software.wml
+
82
−
158
View file @
8bc55bdb
# -*- html -*-
# $Id$
#use wml::layout::default title="DUNE - Installation Notes"
#use wml::layout::default title="DUNE -
Constrib Software
Installation Notes"
<h1>
Installation Notes
</h1>
<h1>
Constrib Software
Installation Notes
</h1>
<h2>
Grids with Dune support
</h2>
<h2>
Additional Grids supported by DUNE
</h2>
<p>
The following external grids support the DUNE Grid interface:
<p>
...
...
@@ -21,21 +21,21 @@ Within the DUNE source tree OneDGrid, SGrid and YaspGrid are
available.
</p>
<h2>
External Packages needed by the
Grid
s
</h2>
<h2>
ALBERTA
Grid
</h2>
<h3>
ALBERTA Grid
</h3>
<h3>
Dependencies
</h3>
<p>
The following packages are mandatory to compile ALBERTA:
</p>
<dl>
<dt>
Fortran 77
</dt><dd>
compiler, e.
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>
<a
href=
"http://www.mesa3d.org/"
>
http://www.mesa3d.org/
</a></dd>
<dt>
BLAS
</dt><dd><p>
"
Basic Linear Algebra Subprograms
"
</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).
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
...
...
@@ -45,38 +45,20 @@ The following packages are mandatory to compile ALBERTA:
For optional packages see the README file of ALBERTA
</p>
<h3>
ALUGrid
</h3>
<p>
There are no mandatory packages for ALUGrid.
</p><p>
For optional packages see the README file of ALUGRID.
</p>
<h3>
UGGrid
</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>
<h2>
Compilation and Installation of the External Grids
</h2>
<h3>
ALBERTA
</h3>
<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>
<
kbd
>
tar xzf alberta-1.2.tar.gz
</
kbd
>
<
pre
>
tar xzf alberta-1.2.tar.gz
</
pre
>
<p>
and move to that directory
</p>
<
kbd
>
cd alberta-1.2
</
kbd
>
<
pre
>
cd alberta-1.2
</
pre
>
</li>
<li><p>
Configure ALBERTA, e. g.
</p>
<kbd>
./configure --prefix=/directory/to/install/alberta/to \\
--with-blas-name=blas-3 --disable-shared \\
CXX=g++-3.4 CC=gcc-3.4
</kbd>
<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
...
...
@@ -90,31 +72,35 @@ For this you'll need the <a href="http://www.amiravis.com/resources/Ext411-01-li
and linkers you will use to compile DUNE!!
</p>
<p>
For more information and additional options see
</p>
<
kbd
>
./configure --help
</
kbd
>
<
pre
>
./configure --help
</
pre
>
</li>
<li><p>
Compile ALBERTA with
</p>
<
kbd
>
make
</
kbd
></li>
<li><p>
Compile ALBERTA with
</p>
<
pre
>
make
</
pre
></li>
<li>
<p>
Install ALBERTA with
</p>
<
kbd
>
make install
</
kbd
></li>
<li>
<p>
Install ALBERTA with
</p>
<
pre
>
make install
</
pre
></li>
</ol>
<h3>
ALUGrid
</h3>
<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>
<
kbd
>
tar xzf ALUGrid-0.x.tar.gz
</
kbd
>
<
pre
>
tar xzf ALUGrid-0.x.tar.gz
</
pre
>
<p>
and move to that directory
</p>
<kbd>
cd ALUGrid-0.x
</kbd>
<pre>
cd ALUGrid-0.x
</pre>
<p>
and read the README file first.
</p>
</li>
<li><p>
Configure ALUGrid, e. g.
</p>
<kbd>
./configure --prefix=/directory/to/install/ALUGrid/to \\
CXX=g++-3.4 CC=gcc-3.4
</kbd>
<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
...
...
@@ -141,17 +127,17 @@ For this you'll need the <a href="http://www.amiravis.com/resources/Ext411-01-li
In order to retrieve the CPPFLAGS and LDFLAGS necessary for MPI,
dune-common offers a script
<i>
dune-common/bin/mpi-config
</i>
:
</p>
<
kbd
>
Usage: mpi-config [OPTIONS] [LIBRARIES]
Options:
[--mpicc[=COMPILER]]
[--disable-cxx]
[--verbose]
[--version]
[--mpiversion]
[--libs]
[--cflags]
</
kbd
>
<
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
...
...
@@ -161,53 +147,66 @@ For this you'll need the <a href="http://www.amiravis.com/resources/Ext411-01-li
<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.
(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>
<kbd>
./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`"
</kbd>
<p>
For further information and additional options see
</p><kbd>
./configure --help
</kbd>
<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>
<
kbd
>
make
</
kbd
></li>
<li><p>
Install ALUGrid with
</p>
<
kbd
>
make install
</
kbd
></li>
<li><p>
Compile ALUGrid with
</p>
<
pre
>
make
</
pre
></li>
<li><p>
Install ALUGrid with
</p>
<
pre
>
make install
</
pre
></li>
</ol>
<h3>
UGGrid
</h3>
<h2>
UGGrid
</h2>
<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 UG library. If you intend to use the release 1.0 of DUNE you
can
download to appropriate UG library at
<a
href=
"http://sit.iwr.uni-heidelberg.de/~ug"
>
http://sit.iwr.uni-heidelberg.de/~ug
</a>
.
For more recent versions of DUNE you will need a newer UG.
Please ask
on the mailing list for details.
Get the UG library. If you intend to use the release 1.0 of DUNE you
can
download to appropriate UG library at
<a
href=
"http://sit.iwr.uni-heidelberg.de/~ug"
>
http://sit.iwr.uni-heidelberg.de/~ug
</a>
.
For more recent versions of DUNE you will need a newer UG.
Please ask
on the mailing list for details.
</p>
<li>
Unpack the tarball and move into the UG source tree.
<pre>
<pre>
tar zxvf UG-3.9.1.tar.gz
cd UG-3.9.1
</pre>
</pre>
</li>
<li><p>
Build the UG make system
</p>
<
kbd
>
./configure --prefix=my_favourite_ug_installation_path --enable-dune CC=g++
</
kbd
>
<
pre
>
./configure --prefix=my_favourite_ug_installation_path --enable-dune CC=g++
</
pre
>
<ul>
<li>
<
tt
>
--prefix
</
tt
>
determines the absolute path of the directory we install to.
<
kbd
>
--prefix
</
kbd
>
determines the absolute path of the directory we install to.
</li>
<li>
<
tt
>
--enable-dune
</
tt
>
enables special features needed by Dune.
<
kbd
>
--enable-dune
</
kbd
>
enables special features needed by Dune.
</li>
<li>
CC=g++ tells the build system to compile everything as C++,
...
...
@@ -217,81 +216,6 @@ cd UG-3.9.1
</li>
</ul>
</li>
<li>
<p>
Compile UG with
</p>
<kbd>
make
</kbd>
</li>
<li><p>
Install UG with
</p>
<kbd>
make install
</kbd></li>
</ol>
<h2>
Installation of DUNE modules
</h2>
<ol>
<li><p>
Download DUNE modules
</p>
<p>
See
<a
href=
"http://dune-project.org/download.html"
>
Download
Section
</a>
section for more details.
</p>
<p>
When using the unstable version via svn, you might be interested in
the
<a
href=
"http://dune-project.org/svn.html"
>
DUNE SVN Developer
Info
</a>
section.
</p>
<p>
When using the svn version, you will have to have further packages
installled, but there are no tests for these, because they are needed
during the first build stage, by autogen.sh.
</p>
<ul>
<li>
automake in version
≥
1.5
</li>
<li>
autoconf in version
≥
2.50
</li>
<li>
libtool
</li>
<li>
pkg-config
</li>
</ul>
</li>
<li>
<p>
Building all DUNE modules
</p>
<p>
Check out all dune modules into same directory (say dune-home)
</p>
<p>
Run dunecontrol script available in the base module dune-common/bin. This will run autogen.sh, configure and make for each module.
</p>
<kbd>
./dune-common/bin/dunecontrol all
</kbd>
<p>
Read the
<a
href=
"http://dune-project.org/doc/buildsystem/buildsystem.pdf"
>
DUNE
Build System Howto
</a>
section for more details.
</p>
</li>
<li>
<p>
Building a specific DUNE module (and its dependent modules)
</p>
<p>
Run dunecontrol script
<kbd>
./dune-common/bin/dunecontrol --module=module_name all
</kbd>
where module_name is the name of that particular module given in the dune.module file
</p>
<p>
Read
<a
href=
"http://dune-project.org/dunemodule.html"
>
Maintaining new Dune modules and applications
</a>
section for more details.
</p>
</li>
<li>
<p>
Building using certain configure options
</p>
<p>
Run dunecontrol script
<kbd>
./dune-common/bin/dunecontrol --opts=/path_to/file.opts --module=module_name all
</kbd>
where file.opts is the name of the file with configure options
specified (you can find an
<a
href=
"example.opts"
>
example.opts
</a>
file in the dune-common/doc directory)
</p>
<p>
Read
<a
href=
"http://dune-project.org/dunemodule.html"
>
Maintaining new Dune modules and applications
</a>
section for more details.
</p>
<p>
<a
href=
"http://dune-project.org/doc/buildsystem/buildsystem.pdf"
>
DUNE
Build System Howto
</a>
will also give you an excellent introduction to
the build system and how to create new modules/projects your own.
</p>
</li>
<li><p>
Compile UG with
</p>
<pre>
make
</pre></li>
<li><p>
Install UG with
</p>
<pre>
make install
</pre></li>
</ol>
<h2>
Creating your own DUNE project module
</h2>
<p>
You can create your own dune project module by using the duneproject script available in dune-common/bin directory.
Running the script will create a directory with supporting files (configure.ac ,Makefile.am etc.) and a sample .cc file.
After creating the module you can build this as explained above under "Building a specific DUNE module".
</p>
This diff is collapsed.
Click to expand it.
doc/installation-notes.wml
+
50
−
23
View file @
8bc55bdb
...
...
@@ -54,9 +54,9 @@ your system and whether prerequisites within the modules are met. For
the ease of users we have designed a custom build system on top of the
automake tools. Run
</p>
<
kbd
>
<
pre
>
./dune-common/bin/dunecontrol all
</
kbd
>
</
pre
>
<p>
to commence those tests and build all modules you have
downloaded. Don't worry about messages telling you that libraries are
...
...
@@ -67,16 +67,16 @@ developing.
You can customize the build to your specific needs by using an options file
(see below)
</p>
<
kbd
>
<
pre
>
./dune-common/bin/dunecontrol --opts=/path_to/file.opts
</
kbd
>
</
pre
>
<p>
If you did not tell dunecontrol to install with an options file you
need to run
</p>
<
kbd
>
<
pre
>
./dune-common/bin/dunecontrol make install
</
kbd
>
</
pre
>
<p>
to install DUNE (you may need root-permissions for the install
part depending on the prefix set)
...
...
@@ -86,7 +86,29 @@ A more comprehensive introduction to the build system can be found in
the
<a
href=
"buildsystem/buildsystem.pdf"
>
Dune Build System Howto
</a>
.
</p>
<h2>
Passing options to the build process
</h2>
<h3>
Building a specific DUNE module (and its dependent modules)
</h3>
<p>
You can instruct dunecontrol to build only a certain dune module,
using the
<kbd>
--only=module_name
>
</kbd>
swtich.
Runnning dunecontrol script
<p>
<pre>
./dune-common/bin/dunecontrol --module=
<
module_name
>
all
</pre>
</p>
where
<
module_name
>
is the name of that particular module given in the
dune.module file, will build only the module
<
module_name
>
.
</p>
<p>
If you want to build a module and the modules it depends on, you
must run:
</p>
<pre>
./dune-common/bin/dunecontrol --module=module_name all
</pre>
<p>
Read
<a
href=
"http://dune-project.org/dunemodule.html"
>
Maintaining new Dune modules and applications
</a>
section for more details.
</p>
<h3>
Passing options to the build process
</h3>
<p>
Using the dunecontrol script the following atomic commands can be
...
...
@@ -117,42 +139,42 @@ each module.
<p>
As it is often not convenient (and for the target all impossible) to
specify the options for each command as parameters after the call, one
can pass the options via file specified by the
<
tt
>
--opts=
<
file
>
</
tt
>
can pass the options via file specified by the
<
kbd
>
--opts=
<
file
>
</
kbd
>
option. For each atomic command one specify the options via a ine
</p>
<
kbd
>
<
pre
>
<
COMMANY_UPPERCASE
>
_FLAGS=
<
flags
>
# e.g.: MAKE_FLAGS=install
</
kbd
>
</
pre
>
<p>
The available options for make and svn are the natural ones. The
configure commands available can be found by issuing
</p>
<
kbd
>
<
pre
>
dunecontrol --only=dune-common configure --help
</
kbd
>
</
pre
>
<p>
and for autogen by
</p>
<
kbd
>
<
pre
>
dunecontrol --only=dune-common autogen --help
</
kbd
>
</
pre
>
<p>
(In the svn version this has to be calles after running autogen.)
</p>
<p>
An example of an options file is
</p>
<
kbd
>
# use a special compiler (g++ version 3.4) and install to a custom
# directory, default is /usr/local/bin
CONFIGURE_FLAGS="CXX=g++-3.4 --prefix='/tmp/Hu
Hu'"
# Set the default target of make to install. Now the call above will
# not just build the DUNE modules but also install it
<
pre
>
\
# use a special compiler (g++ version 3.4) and install to a custom
\
# directory, default is /usr/local/bin
CONFIGURE_FLAGS="CXX=g++-3.4 --prefix='/tmp/HuHu'"
\
# Set the default target of make to install. Now the call above will
\
# not just build the DUNE modules but also install it
MAKE_FLAGS=install
# The default versions of automake and autogen are not sufficient
# therefore we need to specify what versions to use
\
# The default versions of automake and autogen are not sufficient
\
# therefore we need to specify what versions to use
AUTOGEN_FLAGS="--ac=2.59 --am=1.9"
</
kbd
>
</
pre
>
<h2>
Creating your own DUNE project module
</h2>
<p>
...
...
@@ -161,3 +183,8 @@ Running the script will create a directory with supporting files
(configure.ac, Makefile.am etc.) and a sample .cc file.
After creating the module you can build this as explained above under "Building a specific DUNE module".
</p>
<p>
The
<a
href=
"http://dune-project.org/doc/buildsystem/buildsystem.pdf"
>
DUNE
Build System Howto
</a>
will also give you an excellent introduction to
the build system and how to create new modules/projects your own.
</p>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment