chore: reproducible native FVS build script for parity testing#10
Merged
Conversation
Adds scripts/build_native_fvs.sh, which compiles the native FVS Fortran shared libraries (FVS<variant>.so) for the parity suite and installs them to ~/.fvs/lib. Builds any variant subset (default: all 11 pyfvs variants) via the FVS repo's own makefile, using per-variant build dirs to avoid multiple-definition collisions, and ad-hoc code-signs on macOS. Also documents in native/BUILD.md the two non-obvious steps that block a build: the volume/NVEL git submodule must be initialized, and the parity tests must be opted into with `-m parity` (the default config deselects them). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
scripts/build_native_fvs.sh— a reproducible, documented build for the native FVS Fortran shared libraries that the parity suite validates against. This is the "scripted + documented native build" deliverable of the M0 milestone (re-establishing parity measurement).What it does
bin/makefile(make FVS<v>.so), using per-variant build dirs to avoid multiple-definition collisions.FVS<variant>.soto~/.fvs/lib(wherepyfvs.nativeand the parity conftest discover libraries) and ad-hoc code-signs on macOS.volume/NVELgit submodule if missing.Docs
native/BUILD.mdnow calls out the two non-obvious steps that otherwise block a build:volume/NVEL(NVEL volume library) git submodule must be initialized — a fresh checkout fails onbeqinfo.inc;parityand deselected by the default config, so they must be run with-m parity.Verified
Built all 11 variants on macOS arm64 (gfortran 15.2). Parity suite runs:
34 pass · 13 xfail · 6 xpass · 1 fail(54 tests).🤖 Generated with Claude Code