Skip to content

fix: bump Silo to 4.12.1-pre1, drop patch, fix FFTW CMake 4.x compat#1442

Merged
sbryngelson merged 3 commits into
MFlowCode:masterfrom
sbryngelson:silo-fix
May 16, 2026
Merged

fix: bump Silo to 4.12.1-pre1, drop patch, fix FFTW CMake 4.x compat#1442
sbryngelson merged 3 commits into
MFlowCode:masterfrom
sbryngelson:silo-fix

Conversation

@sbryngelson
Copy link
Copy Markdown
Member

Summary

  • Bumps Silo from 4.12.0 to 4.12.1-pre1, which includes the upstream fix for the CMAKE_MODULE_PATH issue (CMakeLists: use list(APPEND) for CMAKE_MODULE_PATH llnl/Silo#550 / Backport sbryngelson fix cmake module path append llnl/Silo#551).
  • Removes toolchain/dependencies/Silo.patch and the PATCH_COMMAND stanza — the fix is now upstream.
  • Removes the Cray-conditional -DCMAKE_MODULE_PATH=... arg from ExternalProject_Add(silo ...): with list(APPEND CMAKE_MODULE_PATH ...) now in Silo's own CMakeLists.txt, the path injected by MFC's parent cmake is preserved automatically.
  • Adds -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to FFTW's ExternalProject_Add so that FFTW 3.3.10 (which declares cmake_minimum_required(VERSION 3.0)) configures correctly under CMake 4.x, which dropped compatibility with VERSION < 3.5.

Closes #1417.

Test plan

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 15, 2026

Claude Code Review

Head SHA: e61c2ad

Files changed:

  • 2
  • toolchain/dependencies/CMakeLists.txt
  • toolchain/dependencies/Silo.patch

Findings

[Compiler Portability] Cray-specific CMAKE_MODULE_PATH removed without replacement

The removed line:

"$<$<STREQUAL:${CMAKE_Fortran_COMPILER_ID},Cray>:-DCMAKE_MODULE_PATH=${CMAKE_SOURCE_DIR}/../cmake/cce>"

was the mechanism for injecting Cray-specific find-modules into Silo's ExternalProject sub-build. ExternalProject spawns a fresh CMake process that does not inherit the parent's CMAKE_MODULE_PATH, so this argument was the only way those modules reached the Silo build. The deleted Silo.patch fixed Silo's set(CMAKE_MODULE_PATH …)list(APPEND …) specifically so that the injected path would survive inside the sub-build.

With both removed, if 4.12.1-pre1 still needs Cray find-modules (e.g., to locate cray-hdf5) the Silo build will fail on Frontier/Carpenter with a cryptic "HDF5 not found" error. The assumption that the new version no longer requires them is not verifiable from the diff alone.

[Reproducibility] Pinning a pre-release tag

GIT_TAG 4.12.1-pre1

Pre-release tags on GitHub can be force-pushed or deleted by the upstream project without notice. GIT_SHALLOW ON still requires the tag to resolve at fetch time; if LLNL removes or moves 4.12.1-pre1 before a stable release is cut, all fresh builds will break. A commit SHA pin alongside the tag would make the build reproducible regardless of upstream tag movement.

@sbryngelson sbryngelson marked this pull request as ready for review May 15, 2026 21:03
@qodo-code-review
Copy link
Copy Markdown
Contributor

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.31%. Comparing base (3538585) to head (e1396b5).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1442   +/-   ##
=======================================
  Coverage   61.31%   61.31%           
=======================================
  Files          72       72           
  Lines       19771    19771           
  Branches     2849     2852    +3     
=======================================
  Hits        12123    12123           
  Misses       5699     5699           
  Partials     1949     1949           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sbryngelson sbryngelson merged commit 7081882 into MFlowCode:master May 16, 2026
92 of 94 checks passed
@sbryngelson sbryngelson deleted the silo-fix branch May 16, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Remove Silo.patch once LLNL/Silo#550 is merged and released

1 participant