83ac0103bcdf0cbfda4428069da3f3cf022b47b3
[dealii.wiki.git] / Getting-deal.II.md
1 # Introduction
2
3 deal.II is somewhat difficult to install especially if you are new to it and
4 if you need additional dependencies for parallel computations (p4est,
5 Trilinos, PETsc, etc.). There are various different ways to acquire deal.II and
6 its (optional) dependencies and the number of choices can be overwhelming. This document tries to help you navigate the
7 different options.
8
9 Please follow the following guidelines:
10
11 1. Are you happy with the latest release of deal.II? If yes, go to the next
12    point. If you want to work on deal.II itself, you will need the latest
13    development version. Go to [Development version](https://github.com/dealii/dealii/wiki/Getting-deal.II#development-version).
14
15 2. Are you just trying things out and learning how to use deal.II? If yes, try
16    [VM](https://github.com/dealii/dealii/wiki/Getting-deal.II#vm) or if you are comfortable using docker, try [docker](https://github.com/dealii/dealii/wiki/Getting-deal.II#docker). Otherwise go to
17    the next point.
18
19 3. Is your machine running Windows? See [Windows](https://github.com/dealii/dealii/wiki/Getting-deal.II#windows). Are you running
20    MacOS? You can use the prebuilt package. See [MacOS](https://github.com/dealii/dealii/wiki/Getting-deal.II#macos).
21
22 4. Are you running Ubuntu/Debian/Arch/Gentoo/..., consider installing a [Linux
23    package](https://github.com/dealii/dealii/wiki/Getting-deal.II#linux-packages). If not, continue to the next point.
24
25 5. If you need additional dependencies (MPI, Trilinos, p4est, PETSC, ...) it
26    is easier to use a source-based installer like [candi](https://github.com/dealii/dealii/wiki/Getting-deal.II#candi) or spack. Otherwise,
27    go to the next point.
28
29 6. Get the source code to deal.II by downloading the .tar.gz file from the latest release at
30      https://github.com/dealii/dealii/releases
31    and go to [Installation from source](https://github.com/dealii/dealii/wiki/Getting-deal.II#installation-from-source).
32
33 7. None of this works or still lost? Contact us at https://www.dealii.org/mail.html
34
35 # Installation from source
36   Download a .tar.gz with the source from
37   https://github.com/dealii/dealii/releases or clone the git repository (``
38   git clone https://github.com/dealii/dealii.git``) and proceed with
39   installation as described at
40   https://www.dealii.org/current/readme.html#installation
41
42 # VM
43  Install VirtualBox on your Windows/MacOS/Linux machine and download the
44  virtual machine image from https://www.math.clemson.edu/~heister/dealvm/
45
46 # docker
47   After you install docker on your machine, you can download and run
48   precompiled docker images. See https://github.com/dealii/docker-files for
49   more information.
50
51 # Development version
52   - You can use the VM or windows WSL, but most of us run Linux (or MacOS) natively.
53   - You will need to install deal.II from source. See "Development sources" at
54     https://www.dealii.org/download.html
55   - What dependencies you need depends on what you are trying to do. You can
56     install dependencies in several different ways: manually, using the
57     Debian/Ubuntu or other packages, using candi, or using spack
58
59 # Windows
60   Instructions: https://github.com/dealii/dealii/wiki/Windows
61
62   If you are running Windows 10, we recommend using the WSL as this allows you
63   to use the Debian/Ubuntu packages and run with MPI and other
64   dependencies. Alternatively, you can compile deal.II natively under Visual
65   Studio, but there is limited support for other dependencies (MPI, TBB,
66   PETSc, Trilinos).  
67
68   Note that the WSL practically works like a Linux machine (with a few quirks such
69   as graphical user interfaces), so you can install dependencies (and deal.II)
70   from source or using candi or spack.
71
72 # MacOS
73   We provide a binary package (.dmg) as part of each of the releases, see
74   https://github.com/dealii/dealii/releases and download and install it.
75   For more details see https://github.com/dealii/dealii/wiki/MacOSX
76
77   Otherwise, the .dmg is also a convenient way to acquire common dependencies
78   and installing from source is easy, see "Installation from source".
79
80 # Linux packages
81
82   We provide packages to several linux distributions as shown under 
83   "Linux distributions" at https://www.dealii.org/download.html
84
85   For example, if you are running Ubuntu 18.04 or 20.04 you can use the deal.II package using
86
87 ```
88 export REPO=ppa:ginggs/deal.ii-9.2.0-backports
89
90 apt-get update && apt-get install -y software-properties-common && add-apt-repository $REPO \
91 && apt-get update && apt-get install -y libdeal.ii-dev
92 ```
93
94 # Candi
95   Candi is a tool maintained by the deal.II community to install deal.II and
96   many of the optional dependencies on a linux-like system from source and is
97   quite useful to run on clusters where you typically need to install
98   packages manually.
99   See https://github.com/dealii/candi

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.