Nothing said what is in a release or what it needs of the machine it lands on: that the Linux binaries are built -march=x86-64-v3 and the Windows ones /arch:AVX, so each has a CPU floor; that the portable .tgz is built on RHEL 8 for its glibc; that the Windows installer is MSVC (Visual Studio 2026), CUDA 13.3, Qt 6.11 and carries the Qt runtime; and above all what the CUDA variants need. Only cuFFT is linked dynamically, and it has no link-time dependency on the driver library, so a CUDA build starts on a machine with no NVIDIA GPU at all and falls back to the CPU path - as long as cuFFT can be loaded, which the .tgz and the installer arrange by shipping it and the distribution packages arrange through the distribution's own CUDA packages. Collected into a new page rather than scattered over the install instructions. The repository page had the RHEL 9 rows pointing at el8 paths under the wrong slsdet number, no rows at all for the two slsdet9 repositories the pipeline uploads, a driver package named jfjoch-driver where it is jfjoch-driver-dkms, and a note that RPMs are unsigned from before the pipeline started uploading them with sign=true. The FPGA page had a paragraph that stopped mid-sentence, in the middle of a link, and a section describing a firmware build triggered by commit message. The firmware is stable and carried from version to version now. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
45 lines
2.8 KiB
Markdown
45 lines
2.8 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) additionally runs on **Windows 11**, where it is shipped as
|
|
a pre-built installer; it can also be built from source 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. See [Release contents](RELEASE_CONTENTS.md) for the
|
|
CPU baseline and CUDA requirements of each released package.
|
|
|
|
|
|
## 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.
|