Skip to content

Commit a56a215

Browse files
authored
Update installation packages documentation (#620)
Added installation instructions for macOS and Windows, including Homebrew and MSYS2 package details. Added repology overview Added arch4edu binaries information to installation guide Add MS-MPI instructions Updated the installation overview
1 parent 6fdb368 commit a56a215

File tree

2 files changed

+51
-5
lines changed

2 files changed

+51
-5
lines changed

content/docs/installation/installation-overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ Linux is the easiest option, see figure above. We provide [binary packages](inst
3434

3535
**macOS**
3636

37-
The recommended way is to [use Homebrew to install the preCICE dependencies](installation-source-dependencies.html#macos) and then [compile preCICE from source](installation-source-preparation.html). You can alternatively [build preCICE using Spack](https://precice.org/installation-spack.html).
37+
The recommended way is to [use Homebrew to install preCICE](installation-packages.html#macos).
3838

3939
**Microsoft Windows**
4040

41-
We are currently working on native builds of preCICE on Windows. Until then, you can [Ubuntu on Windows](https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6) via the Windows subsystem for Linux (WSL). You can then follow all the instructions for Ubuntu, and all codes that work on Linux, also work under WSL. Coupling between a code running on Windows and a code running on Linux should be at least complicated.
41+
The recommended way is to [use MYSYS2 to install preCICE](installation-packages.html#msys2).
42+
43+
Alternatively, you can use [Ubuntu on Windows](https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6) via the Windows subsystem for Linux (WSL). You can then follow all the instructions for Ubuntu, and all codes that work on Linux, also work under WSL. Coupling between a code running on Windows and a code running on Linux should be at least complicated.
4244

4345
<details markdown="1"><summary>In case you want to use "Ubuntu on Windows", note the following: (click to reveal)</summary>
4446
- You first need to [enable WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Both WSL 1 and 2 are fine. Simplest option: in your system settings, find the menu `Turn Windows features on or off` and activate WSL there.
@@ -49,8 +51,6 @@ We are currently working on native builds of preCICE on Windows. Until then, you
4951

5052
![Running preCICE on Windows via WSL, while post-processing in the Windows Desktop](images/docs/install-wsl.png)
5153

52-
Alternatively, you can get [preCICE built with MinGW from MSYS2](https://packages.msys2.org/base/mingw-w64-precice) (package [maintained by the community](https://precice.discourse.group/t/precice-and-mingw-packages/382)). See how we use it in our [continuous integration tests](https://github.com/precice/precice/blob/develop/.github/workflows/build-and-test.yml).
53-
5454
### Use cases
5555

5656
**Are there packages available for my system?**

content/docs/installation/installation-packages.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ For some systems, preCICE is available in the form of a pre-built package or a p
88
These packages are built with enabled Python actions, MPI communication, and PETSc mapping.
99
This section lists systems and instructions on how to install these packages.
1010

11+
[Repology](https://repology.org/project/precice/versions) compiles a list of packages and versions in distribution repositories.
12+
This contains a good overview of packages also in community repositories.
13+
Note, however that Ubuntu and Debian are absent from this list as official packages for those Distros would lack too far behind in time.
14+
15+
![Packaging status](https://repology.org/badge/vertical-allrepos/precice.svg?header=&columns=2&exclude_sources=site)
16+
1117
## Ubuntu
1218

1319
You can download version-specific Ubuntu (Debian) packages from each [GitHub release](https://github.com/precice/precice/releases/latest).
@@ -26,13 +32,20 @@ As an example, change `noble` to `jammy` for 22.04.
2632

2733
Is a newer preCICE release out, and have we not yet updated the above links? Please edit this page.
2834

35+
## Debian
36+
37+
Similar to the Ubuntu packages, we generate Debian packages for at least the latest stable release of Debian.
38+
You can download version-specific Debian packages from the respective release [GitHub release](https://github.com/precice/precice/releases/latest).
39+
2940
## Arch Linux / Manjaro
3041

3142
We maintain a package in the [Arch User Repository](https://aur.archlinux.org/packages/precice/).
3243
Please have a look at the official [AUR wiki page](https://wiki.archlinux.org/index.php/Arch_User_Repository) to find out how to install it.
3344

3445
The community also maintains a [development version](https://aur.archlinux.org/packages/precice-git) and [several other packages](https://aur.archlinux.org/packages?&K=precice).
3546

47+
Furthermore, the [arch4edu](https://github.com/arch4edu/arch4edu/wiki) initiative provides pre-built binaries for preCICE and related packages.
48+
3649
## Nix / NixOS
3750

3851
In addition to the community efforts listed above, preCICE and several of the bindings and adapters are available for Nix in the [precice/nix-packages repository](https://github.com/precice/nix-packages/).
@@ -55,6 +68,40 @@ For more options, have a look at the [readme](https://github.com/precice/nix-pac
5568

5669
For all packages available upstream, see the [NixOS search](https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&query=precice).
5770

71+
## macOS
72+
73+
For macOS, we maintain a [homebrew package/formula](https://formulae.brew.sh/formula/precice).
74+
To install the latest version use:
75+
76+
```bash
77+
brew install precice
78+
```
79+
80+
It also provides a way of installing the latest develop version from source using the head flag:
81+
82+
```bash
83+
brew install --head precice
84+
```
85+
86+
## Windows
87+
88+
The community maintains a preCICE package for [MSYS2](https://packages.msys2.org/base/mingw-w64-precice).
89+
To use Microsoft MPI, first make sure to install the [latest release of MSMPI](https://github.com/microsoft/Microsoft-MPI/releases/latest) (the `msmpisetup.exe`).
90+
Then, enable path inheritance in the environment configuration of your choice.
91+
To enable it for MSYS64 UCRT, edit the file `C:/msys64/ucrt.ini` and uncomment the line `MSYS2_PATH_TYPE=inherit` by removing the leading `#`. You should now be able to run `mpiexec` in the ucrt environment.
92+
93+
To search for a suitable package use:
94+
95+
```bash
96+
pacman -Ss precice
97+
```
98+
99+
Then install it with:
100+
101+
```bash
102+
pacman -S <package name>
103+
```
104+
58105
## Something else
59106

60107
For other systems, you need to either use [Spack](installation-spack.html) or [build from source](installation-source-preparation.html).
@@ -64,7 +111,6 @@ For other systems, you need to either use [Spack](installation-spack.html) or [b
64111
These packages are maintained by the preCICE community and may be occasionally outdated or not fully working.
65112
However, we appreciate the effort, and you may be able to contribute to them.
66113

67-
- [MSYS2](https://packages.msys2.org/base/mingw-w64-precice) (for Windows, built with MinGW), [thread on our forum](https://precice.discourse.group/t/precice-and-mingw-packages/382)
68114
- [EasyBuild](https://github.com/easybuilders/easybuild-easyconfigs/tree/develop/easybuild/easyconfigs/p/preCICE)
69115
- [Conda](https://github.com/conda-forge/precice-feedstock) (see also packages [pyprecice](https://github.com/conda-forge/pyprecice-feedstock) and [fenicsprecice](https://github.com/conda-forge/fenicsprecice-feedstock)). We recommend using [Miniforge](https://conda-forge.org/download/) (see https://www.fz-juelich.de/en/rse/the_latest/the-anaconda-is-squeezing-us for reasons why).
70116
- [FreeBSD](https://www.freshports.org/science/precice)

0 commit comments

Comments
 (0)