-
Notifications
You must be signed in to change notification settings - Fork 121
HDF5 Build Hack Resolved #1036
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
HDF5 Build Hack Resolved #1036
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
| ExternalProject_Add(silo | ||
| GIT_REPOSITORY "https://github.com/LLNL/Silo" | ||
| GIT_TAG 9af504ef4fb79153e1fbf3bdb75421b6b65f6dc4 | ||
| GIT_PROGRESS ON | ||
| PATCH_COMMAND "${GIT_EXECUTABLE}" stash | ||
| && "${GIT_EXECUTABLE}" apply "${CMAKE_SOURCE_DIR}/Silo.patch" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Suggestion: Pin the silo external project to a specific Git tag or commit to ensure reproducible builds. [possible issue, importance: 10]
| ExternalProject_Add(silo | |
| GIT_REPOSITORY "https://github.com/LLNL/Silo" | |
| GIT_TAG 9af504ef4fb79153e1fbf3bdb75421b6b65f6dc4 | |
| GIT_PROGRESS ON | |
| PATCH_COMMAND "${GIT_EXECUTABLE}" stash | |
| && "${GIT_EXECUTABLE}" apply "${CMAKE_SOURCE_DIR}/Silo.patch" | |
| ExternalProject_Add(silo | |
| GIT_REPOSITORY "https://github.com/LLNL/Silo" | |
| GIT_TAG "v4.11.1" # Or another specific, known-good commit/tag | |
| GIT_PROGRESS ON | |
| PATCH_COMMAND "${GIT_EXECUTABLE}" stash | |
| && "${GIT_EXECUTABLE}" apply "${CMAKE_SOURCE_DIR}/Silo.patch" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR aims to remove a workaround for HDF5 detection on Cray systems by relying on upstream improvements in Silo's SiloFindHDF5.cmake. The changes remove the custom FindHDF5.cmake module and associated Cray-specific CMake module path configuration.
Key changes:
- Removes custom
FindHDF5.cmakefromtoolchain/cmake/cce/directory - Removes Cray-specific CMake module path from main build configuration
- Updates Silo external project to track latest upstream (removes pinned commit)
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| CMakeLists.txt | Removes conditional CCE module path prepending for Cray compilers |
| toolchain/cmake/cce/FindHDF5.cmake | Deletes custom HDF5 finder module for Cray systems |
| toolchain/dependencies/CMakeLists.txt | Removes pinned Git commit for Silo to track latest upstream |
| ExternalProject_Add(silo | ||
| GIT_REPOSITORY "https://github.com/LLNL/Silo" | ||
| GIT_TAG 9af504ef4fb79153e1fbf3bdb75421b6b65f6dc4 | ||
| GIT_PROGRESS ON | ||
| PATCH_COMMAND "${GIT_EXECUTABLE}" stash | ||
| && "${GIT_EXECUTABLE}" apply "${CMAKE_SOURCE_DIR}/Silo.patch" |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical Issue - Incomplete Refactoring:
This PR deletes toolchain/cmake/cce/FindHDF5.cmake and removes CCE module path references from the main CMakeLists.txt, but this file still contains references to the now-deleted cmake/cce directory:
- Lines 9-11:
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Cray")block adds the cce path - Line 96: Passes
-DCMAKE_MODULE_PATH=${CMAKE_SOURCE_DIR}/../cmake/cceto Silo's build
These will cause build failures on Cray systems. Both references must be removed.
Additional Note: Removing GIT_TAG means Silo will track the default branch instead of the previously pinned commit. Consider adding a comment explaining this is intentional (e.g., "Track latest Silo for improved HDF5 detection via SiloFindHDF5.cmake").
User description
Description
Concerning #621, contingent upon
LLNL/Siloimproving the Silo's HDF5 search.I removed
FindHDF5.cmakeintended for CCE machines to now fully rely on SiloFindHDF5.cmake.PR Type
Enhancement, Bug fix
Description
Removed custom CCE-specific FindHDF5.cmake module
Eliminated CCE toolchain conditional from CMakeLists.txt
Removed pinned Silo Git commit tag for flexibility
Relies on Silo's native HDF5 discovery mechanism
Diagram Walkthrough
File Walkthrough
FindHDF5.cmake
Removed custom CCE HDF5 finder moduletoolchain/cmake/cce/FindHDF5.cmake
CMakeLists.txt
Removed CCE toolchain conditional logicCMakeLists.txt
CMakeLists.txt
Removed Silo commit pin for flexibilitytoolchain/dependencies/CMakeLists.txt