Files
Jungfraujoch/docs/SOFTWARE.md
T
leonarski_fandClaude Opus 4.8 48a7a67283 docs: publish third-party notices as a documentation page
The THIRD_PARTY_NOTICES.md manifest lived only at the repo root and was
referenced from docs/SOFTWARE.md via a ../ link that escapes the Sphinx
source tree, so it never rendered in the published docs and was absent
from the navigation.

Add docs/THIRD_PARTY_NOTICES.md to the General toctree and fix the
SOFTWARE.md link. The docs page is generated from the canonical root file
by update_version.sh (like the python-client docs): licenses/*.txt links
point at the repository, and the project-license links point at the
in-docs LICENSE / FPGA_LICENSE pages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 21:42:22 +02:00

44 lines
2.6 KiB
Markdown

# Software requirements
## Operating system
Recommended operating system is Red Hat Enterprise Linux (RHEL) / Rocky Linux versions 8 or 9.
For this operating systems we provide RPMs with pre-built binaries to simplify deployment.
On experimental basis we also build repositories for Ubuntu 22.04 and 24.04.
Running Jungfraujoch on Red Hat Enterprise Linux 7 is currently not tested and not recommended,
but likely possible with providing some packages from external repositories.
The desktop viewer `jfjoch_viewer` (only) can additionally be built on **Windows 11** with Visual
Studio 2026 (MSVC), CUDA 13.3 and Qt 6.11 — see
[jfjoch_viewer ▸ Building from source on Windows](JFJOCH_VIEWER.md#building-from-source-on-windows).
The Windows installer bundles the Qt runtime, and on the CUDA build the CUDA runtime (cuFFT) as
well, so end users need neither Qt nor a CUDA toolkit installed — only an NVIDIA GPU driver for the
GPU path. The rest of Jungfraujoch is Linux-only.
## Software dependencies
Required:
* C++20 compiler and C++20 standard library; recommended GCC 11+ or clang 14+ (Intel OneAPI, AMD AOCC)
* CMake version 3.26 or newer + a build tool (GNU make or Ninja)
* zlib compression library
* Eigen (header-only linear algebra library), version 3.4.x (the build requests `Eigen3 3.4`, which
Eigen's same-major-version rule does not satisfy with 5.x)
HDF5, libtiff and libjpeg-turbo used to be required system packages; they are now downloaded and
built automatically by CMake (see the note below), so they no longer need to be installed.
Optional:
* CUDA compiler version 12.8 or newer - required for the MX fast feedback indexer and GPU analysis
* FFTW library - for indexing if GPU/CUDA is absent (also auto-downloaded by CMake)
* Node.js - to build the frontend
* Qt version 6 (for jfjoch_viewer)
Many further dependencies (spdlog, Zstandard, HDF5, slsDetectorPackage, libzmq, libtiff,
libjpeg-turbo, Ceres, the fast feedback indexer, Catch2, ...) are downloaded automatically
by CMake and statically linked; building therefore requires network access on the first configure.
zlib and Eigen are the exception — they must be preinstalled (found via `find_package`); on Windows,
where they are not present system-wide, install them into a prefix and point `CMAKE_PREFIX_PATH` at
it (see [Building from source on Windows](JFJOCH_VIEWER.md#building-from-source-on-windows)).
Others are vendored directly in the source tree. The complete list of third-party components, with
copyright holders, licenses and verbatim license texts, is in
[Third-party software notices](THIRD_PARTY_NOTICES.md) and the `licenses/` directory.