Commit Graph
6 Commits
Author SHA1 Message Date
leonarski_fandClaude Opus 4.8 68f3394f48 deps: pin external Eigen to 3.4.x across docs and Docker images
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 15m18s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m22s
Build Packages / build:rpm (rocky8) (push) Successful in 15m29s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 15m44s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 15m49s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 16m0s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m19s
Build Packages / Generate python client (push) Successful in 30s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m25s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Successful in 1m2s
Build Packages / XDS test (durin plugin) (push) Successful in 9m22s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m30s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m20s
Build Packages / build:rpm (rocky9) (push) Successful in 13m37s
Build Packages / DIALS test (push) Successful in 13m6s
Build Packages / Unit tests (push) Successful in 59m29s
Eigen is an external find_package(Eigen3 3.4) dependency. Eigen's
same-major-version rule means a bare 3.4 request only accepts 3.x, so 5.x
cannot be used without changing every requester (jfjoch, Ceres, and the
upstream ffbidx). Standardise on Eigen 3.4.x:

- docs: correct the Windows Eigen install recipe to 3.4.0 and note the
  same-major constraint; SOFTWARE.md now says 3.4.x (not "3.4 or newer").
- docker/{rocky8,rocky9,ubuntu2204,ubuntu2404}: actually install Eigen 3.4.0
  from source to /opt/eigen-3.4 (header-only) and add it to CMAKE_PREFIX_PATH.
  The images previously installed no Eigen at all, relying on the obsolete
  "CMake fetches it" assumption; a rebuild would have failed at configure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 20:53:42 +02:00
leonarski_fandClaude Opus 4.8 ad5662732d windows: auto-detect nvcc and drop manual CUDA/zlib flags
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m47s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m17s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m43s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m48s
Build Packages / build:rpm (rocky8) (push) Successful in 14m49s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m59s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m40s
Build Packages / XDS test (neggia plugin) (push) Successful in 9m1s
Build Packages / XDS test (durin plugin) (push) Successful in 10m12s
Build Packages / Generate python client (push) Successful in 31s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (JFJoch plugin) (push) Successful in 10m19s
Build Packages / Build documentation (push) Successful in 54s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m47s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m36s
Build Packages / build:rpm (rocky9) (push) Successful in 13m39s
Build Packages / DIALS test (push) Successful in 13m45s
Build Packages / Unit tests (push) Successful in 58m45s
Locate nvcc via find_program (HINTS CUDA_PATH / /usr/local/cuda) before
CHECK_LANGUAGE(CUDA), so CMAKE_CUDA_COMPILER no longer has to be passed by
hand. CHECK_LANGUAGE only searches PATH, which is missed routinely on Windows
and intermittently on Linux; the CUDA installer always sets CUDA_PATH. An
explicit -DCMAKE_CUDA_COMPILER / $CUDACXX still wins.

Docs: zlib and Eigen are external find_package deps (not auto-fetched);
simplify the Windows configure to just CMAKE_PREFIX_PATH (no CMAKE_CUDA_COMPILER,
no ZLIB_ROOT); fix the Eigen 5.0.1 install recipe to disable BLAS/LAPACK
(they fail MSVC with C1128 /bigobj) and use cmake --install.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:47:01 +02:00
leonarski_fandClaude Opus 4.8 ec8a45dc09 windows: bundle cuFFT in installer and tag the CUDA/CPU variant
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m54s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m29s
Build Packages / build:rpm (rocky8) (push) Successful in 14m21s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m34s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m36s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m50s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m10s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m44s
Build Packages / XDS test (durin plugin) (push) Successful in 8m29s
Build Packages / Generate python client (push) Successful in 31s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m46s
Build Packages / Build documentation (push) Successful in 56s
Build Packages / build:rpm (rocky9) (push) Successful in 12m39s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m23s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m5s
Build Packages / DIALS test (push) Successful in 12m59s
Build Packages / Unit tests (push) Successful in 59m10s
cuFFT is the only CUDA component linked dynamically (cudart and the
fast-feedback indexer are static), so the prior Windows installer would
fail to launch the GPU path on a host without a CUDA toolkit. Ship
cufft64_*.dll next to the viewer (CUDA 13 keeps it in bin/x64, earlier
toolkits in bin); the DLL is self-contained, so the installed app needs
only an NVIDIA driver.

Tag the variant where it matters and nowhere else: the installer
filename (-cuda<major> / -cpu) and the Add/Remove Programs entry
("Jungfraujoch (CUDA)" / "(CPU)") advertise it, while the install folder
and Start Menu group stay plain "Jungfraujoch" -- the CUDA build is a
strict superset, so the two variants share a location and replace each
other.

Docs: SOFTWARE.md + JFJOCH_VIEWER.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 09:17:52 +02:00
leonarski_fandClaude Opus 4.8 0c1babd0ca CMake: provide Eigen externally again; fix cpack NSIS icon escape
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m24s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m39s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m54s
Build Packages / build:rpm (rocky8) (push) Successful in 14m47s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m57s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m27s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 15m38s
Build Packages / XDS test (durin plugin) (push) Successful in 8m7s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m44s
Build Packages / Generate python client (push) Successful in 26s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m22s
Build Packages / Build documentation (push) Successful in 1m0s
Build Packages / build:rpm (rocky9) (push) Successful in 12m15s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m52s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m25s
Build Packages / DIALS test (push) Successful in 12m49s
Build Packages / Unit tests (push) Successful in 58m37s
Revert Eigen from the FetchContent OVERRIDE_FIND_PACKAGE vendoring (cd394c52,
d4d2d0d8) back to an external find_package(Eigen3) dependency, like zlib. The
OVERRIDE_FIND_PACKAGE mechanism makes the Visual-Studio-bundled CMake (4.x
"-msvc") intermittently segfault during configure -- ~1/3 of fresh configures,
and 100% with Ceres CUDA enabled. The fault is in CMake's own FetchContent
variable-stack cleanup, reached when Ceres' find_package(Eigen3) resolves the
override through a nested FetchContent_MakeAvailable. Stock Kitware CMake runs
the identical scripts fine, so it is a bug in the VS-bundled cmake binary;
providing Eigen externally avoids that path entirely and is stable with Ceres
CUDA both on and off (verified 0 crashes; full CUDA build + NSIS installer
succeed under the VS-bundled cmake).

Also fix CPACK_NSIS_INSTALLED_ICON_NAME: the backslash value was written
verbatim into CPackConfig.cmake, where "\j" is an invalid escape that cmake 4.x
(CMP0010 strict) rejects when cpack re-parses it, so cpack failed under the
VS-bundled cmake (older/Kitware cpack only warned). Use a forward slash.

- image_analysis: keep Ceres USE_CUDA OFF (Jungfraujoch does not use Ceres' GPU
  solvers) but drop the now-obsolete "required to avoid the Windows cmake crash"
  rationale from the comment.
- docs: Eigen is a required external dependency again (SOFTWARE.md); the Windows
  viewer build provides zlib + Eigen externally (JFJOCH_VIEWER.md).
- THIRD_PARTY_NOTICES: move Eigen from the fetched-and-linked table to the
  external runtime-libraries table.

Docker images still need Eigen re-added (5.0.1, source build) -- to follow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 22:33:12 +02:00
leonarski_fandClaude Opus 4.8 c69b5297d5 docs: add jfjoch_process page, refresh viewer/tools docs, unify CLI naming
- Add docs/JFJOCH_PROCESS.md describing the offline analysis tool, its
  options, output files, and the broker/viewer/process distinction; mention
  jfjoch_scale for re-scaling/merging.
- Rewrite docs/JFJOCH_VIEWER.md for consistency: functionality, HTTP env
  vars (JUNGFRAUJOCH_HTTP_HOST/PORT), command line, and the real D-Bus API.
- Refresh docs/TOOLS.md to the current set of tools; add both pages to index.rst.
- jfjoch_process: fix stale self-name (jfjoch_analysis -> jfjoch_process) in
  usage/license/logger.
- jfjoch_scale: unify --scaling-high-resolution with jfjoch_process (drop -D
  short flag, make it long-only) and remove dead p/q/i short options.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 07:38:36 +02:00
leonarski_f 4a852b4d6b v1.0.0-rc.134 (#43)
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m57s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m4s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m18s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m12s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m51s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 13m59s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m45s
Build Packages / build:rpm (rocky8) (push) Successful in 12m29s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 12m2s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / XDS test (durin plugin) (push) Successful in 9m50s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 14m15s
Build Packages / Build documentation (push) Successful in 1m6s
Build Packages / DIALS test (push) Successful in 13m10s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 6m45s
Build Packages / XDS test (neggia plugin) (push) Successful in 5m58s
Build Packages / Unit tests (push) Successful in 1h20m42s
This is an UNSTABLE release. The release has significant modifications and bug fixes, if things go wrong, it is better to revert to 1.0.0-rc.132.

* jfjoch_broker: Add better locking for detector object - should help, when detector initialization takes too long
* jfjoch_writer: Enable writing single, integrated HDF5 file with both data and metadata
* XDS plugin: Add generation of Jungfraujoch plugin for XDS
* CI: Add tests with XDS and DIALS (`xia2.ssx`)

Reviewed-on: #43
2026-04-09 13:30:47 +02:00