491312f263dfdf85276eb642d0c826a1ba5aba11
Build Packages / build:rugnux:aarch64 (cross) (push) Failing after 2m8s
Build Packages / build:rugnux:windows (push) Successful in 14m6s
Build Packages / build:rugnux-tgz (x86_64) (push) Failing after 15m4s
Build Packages / build:windows:nocuda (push) Successful in 16m1s
Build Packages / build:windows:cuda (push) Successful in 18m48s
Build Packages / build:viewer-tgz:cpu (push) Successful in 20m9s
Build Packages / build:viewer-tgz:cuda (push) Successful in 23m1s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 22m54s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 24m23s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 27m45s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 27m49s
Build Packages / build:rpm (rocky8) (push) Canceled after 7m42s
Build Packages / XDS test (durin plugin) (push) Canceled after 0s
Build Packages / XDS test (JFJoch plugin) (push) Canceled after 0s
Build Packages / XDS test (neggia plugin) (push) Canceled after 0s
Build Packages / Generate python client (push) Canceled after 0s
Build Packages / Build documentation (push) Canceled after 0s
Build Packages / Create release (push) Canceled after 0s
Build Packages / build:rpm (ubuntu2204) (push) Canceled after 4m8s
Build Packages / build:rpm (ubuntu2404) (push) Canceled after 2m52s
Build Packages / build:rpm (rocky8_sls9) (push) Canceled after 15m38s
Build Packages / build:rpm (rocky9) (push) Canceled after 7m40s
Build Packages / build:rpm (rocky9_sls9) (push) Canceled after 10m37s
Build Packages / DIALS test (push) Canceled after 2m45s
Build Packages / Unit tests (push) Canceled after 30m48s
Three failures, all from validating the rugnux path alone and assuming the rest followed. viewer/CMakeLists.txt had an unbalanced ENDIF: removing the cuFFT bundling block took its opening IF(JFJOCH_CUDA_AVAILABLE) with it and left the closer behind, so every configuration that adds viewer/ died on "flow control statements are not properly nested" -- both Windows jobs and the viewer tarball. The cross toolchain could not find Eigen. CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY confines find_package to the target roots, and the ubuntu2404 image installs Eigen from source in /opt/eigen-3.4 rather than as libeigen3-dev, so it sat outside them. It is header-only, so serving it from outside the target roots is safe; the root is now listed explicitly. Static cuFFT is not available everywhere. The Windows toolkit ships no cufft_static.lib, so CUDA::cufft_static does not exist there and linking it fails at generate time. Condition on the target rather than the platform, so a toolkit that gains or loses the static library needs no further change, and restore the Windows DLL bundling for both products -- now in the top-level CMakeLists, since rugnux needs it too and does not add viewer/. rugnux.exe therefore ships beside cufft64_*.dll rather than alone; the Linux and cross artifacts are still one file. That condition also has to keep the JFJOCH_PORTABLE_ONLY half. Testing only for the target quietly moved the SERVER build onto static cuFFT as well, where every executable -- broker, tests, tools -- would then need the CUDA device-link step and would fail on an undefined __cudaRegisterLinkedBinary_* at link. Configure still succeeds, so nothing catches that until the link; the server build keeps libcufft.so exactly as before. Checked by configuring all four flavours in the image CI actually uses -- rugnux, viewer and server on x86_64 plus the aarch64 cross -- and confirming each links the cuFFT it should. The rugnux archives now also carry their target architecture, since that build produces more than one: rugnux-<version>-linux-x86_64-cuda13.tar.gz beside the aarch64 one. CMAKE_SYSTEM_PROCESSOR is the target's, never the build host's. The viewer is x86_64-only and keeps its existing name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQjneRUssfhi1k9rq8Ts3h
Jungfraujoch
Application to receive data from the PSI JUNGFRAU and EIGER detectors.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
75.2%
HTML
7.6%
C
6.1%
TypeScript
4.2%
Cuda
2.2%
Other
4.6%