

libbacktrace - to show source files and line numbers in backtraces of errors and asserts.ffmpeg - for animating 1d simulations with matplotlib.Scotch - to build the ScotchLB graph partition based load balancer in charm++.ClangFormat - to format C++ code in a clear and consistent fashion.PAPI - to access hardware performance counters.LCOV and gcov - to check code test coverage.

Alternatively, you can set BOOTSTRAP_PY_DEPS=ON when configuring a build with CMake to install missing Python packages into the build directory automatically. Make sure you are working in a Python venv before installing packages. Install with pip3 install -r support/Python/requirements.txt. Python dependencies listed in support/Python/requirements.txt.Building with shared library support is also recommended. libsharp should be built with support disabled for openmp and mpi, as we want all of our parallelism to be accomplished via Charm++.Compile with CMAKE_POSITION_INDEPENDENT_CODE=ON. Install from your package manager or do a standard CMake build and installation (as detailed in the Catch2 docs). It can be beneficial to install Blaze with CMake so some configuration options are determined automatically, such as cache sizes. Charm++ 7.0.0, or later (experimental).GCC 9.1 or later, Clang 11.0 or later, or AppleClang 11.0.0 or later.Note: You don't need to install any of these dependencies by hand, or by using yum, apt, or other package managers it is much easier to instead use Singularity, Docker, or Spack (see the corresponding sections below) to obtain an environment that includes all of these dependencies. If you prefer setting up your development environment differently, read on! If you're new to writing code for SpECTRE and would like to jump right into a working development environment, a good place to start is our Code development quick-start with Docker and Visual Studio Code.

Quick-start guide for code development with Docker and Visual Studio Code Refer to the Spack documentation for more information.
