Operating systems
The following operating systems are supported:
-
Linux
-
Redhat Enterprise Linux
-
Suse Leap
-
Ubuntu
-
…
-
-
macOS
-
Windows (with the Windows Subsystem for Linux (WSL))
Required software
- Linux
-
the usual standard and development tools like gcc, autotools, cmake, make, lex/flex, yacc/bison, tar, bzip2 …
- macOS
-
Xcode, command line tools, for some features Macports or Homebrew
- Windows
-
use Windows Subsystem for Linux (WSL)
Before compiling everything yourself, you might want to try the versions available on your system. Check the requirements below before trying.
Build scripts for all required software are available here.
The list below shows the required software and versions we use to compile OPAL.
Name | recommended Versions | Notes |
---|---|---|
cmake |
3.27.8 or newer |
|
C/C++ Compiler |
gcc 10 or Clang 12 |
must support C++ 17 or better. Minimum version for GCC is 9.5.0. If this or a newer version is available on your system, use it. If you want/have to compile GCC yourself, see the instructions below. |
Fortran Compiler |
gfortran 10 |
optional, must support Fortan 95 or better. |
MPI |
Open MPI 4.1.6 |
If MPI is installed on your system or available as environment module, use it. In most cases this works better than compiling MPI yourself. |
zlib |
1.3.1 |
use system zlib if available ( |
hdf5 |
1.10.11 |
A parallel version is required. |
GNU Scientific Library |
2.7 |
|
VTK |
? |
optional: required if you want to compile H5hut with the VTK to H5hut mesh converter. |
H5hut |
2.0.0rc6 |
A parallel version is required. |
boost |
1.84.0 |
The following boost libraries are required: |
ParMETIS |
4.0.3 |
optional: required for OPAL compiled with SAAMG solver. |
OpenBLAS |
0.3.27 or newer |
optional: required for OPAL compiled with SAAMG solver. |
trilinos |
13.4.0 |
optional: required for OPAL compiled with SAAMG solver. Minimum version >13 |
AMReX |
18.07 |
optional: required for OPAL compiled with AMR solvers. |
MITHRA |
2.0 |
optional: required for OPAL compiled with FEL simulation. |
google-test |
1.14.0 or newer |
optional: Required to run the unit-tests |
Compiler
GNU Compiler Collection
The GNU Compiler Collection (GCC) is the recommended compiler for OPAL on a Linux system and on Windows with the Windows Services for Linux. If you want to use GCC on macOS, it is recommended to use GCC provided by Macports, Homebrew, Fink or another software package manager.
NOTE: If you do not want to use the compilers provided by the system (Linux distribution, Xcode,…), make sure that the commands
cc
andc++
are calling the right binary. At least with GCC from Macportscc
andc++
are not set withport select
.
For compiling GCC you need:
Name | recommended Versions | Notes |
---|---|---|
GNU Multiple Precision Arithmetic Library (GMP) |
6.3.0 or newer |
optional: if you want to compile GCC |
GNU MPFR Library |
4.2.1 |
optional: if you want to compile GCC |
GNU MPC Library |
1.3.1 |
optional: if you want to compile GCC |
Clang/LLVM (macOS only)
Clang is the recommended compiler for OPAL on macOS - as long as you do not need AMR. If you want to compile OPAL with AMR, a Fortran compiler is required. In this case you can try with the new Flang front-end of LLVM or GCC from one of the package managers.
Note: The LLVM Fortran front-end Flang is not included in Xcode.
Name | recommended Version | Notes |
---|---|---|
Clang (LLVM) |
12.4 |