Acknowledge all bundled third-party software and satisfy attribution/notice requirements, while keeping it maintainable: - THIRD_PARTY_NOTICES.md: human-readable manifest (component, copyright, SPDX license, link) for fetched, vendored, and runtime/SDK dependencies. - licenses/: verbatim license texts; COLLECT.sh regenerates them from the build trees and system SDK locations. - Bundle the verbatim Qt LGPL-3.0 text and the CUDA Toolkit 12.8 EULA. - frontend: self-contained npm attribution generator (`npm run licenses` -> dist/THIRD_PARTY_LICENSES.txt), wired into the frontend build target. - Install LICENSE + notices + licenses/ into share/doc/jfjoch for every packaged component. - viewer: Help > "Third-party Licenses" window (QTextBrowser) showing a generated, self-contained HTML built from licenses/. - docs/SOFTWARE.md: drop the stale hand-kept dependency lists; point at the manifest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
1.8 KiB
Markdown
33 lines
1.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.
|
|
|
|
|
|
## Software dependencies
|
|
Required:
|
|
* C++20 compiler and C++20 standard library; recommended GCC 11+ or clang 14+ (Intel OneAPI, AMD AOCC)
|
|
* CMake version 3.21 or newer + GNU make tool
|
|
* zlib compression library
|
|
* EIGEN library (only on a compilation system)
|
|
* HDF5 library version 1.10 or newer - see [github.com/HDFGroup/hdf5](https://github.com/HDFGroup/hdf5)
|
|
* TIFF library - see [gitlab.com/libtiff/libtiff](https://gitlab.com/libtiff/libtiff)
|
|
* JPEG library (preferably jpeg-turbo) - see [github.com/libjpeg-turbo/libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo)
|
|
|
|
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, Eigen, Ceres, the fast feedback indexer, Catch2, ...) are downloaded automatically
|
|
by CMake and statically linked; building therefore requires network access on the first configure.
|
|
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_NOTICES.md](../THIRD_PARTY_NOTICES.md) and the `licenses/` directory.
|