Skip to content

fix(calculator): adapt to upstream tblite/gfnff API drift#3

Open
UMI5751 wants to merge 1 commit into
feat/nnxtb-benchmarkfrom
fix/tblite-gfnff-api-drift
Open

fix(calculator): adapt to upstream tblite/gfnff API drift#3
UMI5751 wants to merge 1 commit into
feat/nnxtb-benchmarkfrom
fix/tblite-gfnff-api-drift

Conversation

@UMI5751
Copy link
Copy Markdown

@UMI5751 UMI5751 commented May 1, 2026

Summary

Two source-level shims so this branch compiles against current tblite (xtb_solvation) and gfnff (main) again. Without these the build now fails on a fresh deps fetch:

gfnff_api.F90:75: Keyword argument 'print' is not in the procedure
tblite_api.F90:379: There is no specific subroutine for 'eeq_guess'

gfnff_api.F90

Upstream gfnff_initialize replaced print=logical, iunit=int with printlevel=int, printunit=int. Map the existing optional pr/iunit parameters of our gfnff_api_setup to the new signature:

  • pr=.true.printlevel=2 (info)
  • pr=.false. or absent → printlevel=0 (silent — matches old "pr absent" behavior)
  • iunit present → printunit=iunit; absent → printunit=stdout

tblite_api.F90

Upstream eeq_guess (tblite/wavefunction/guess.f90) gained a trailing error argument. Pass through the error_type already declared in scope at the call site.

Test plan

  • crest-exe target builds cleanly on RunPod 4090 with fresh deps fetch from talo/hyper-crest:feat/nnxtb-benchmark
  • Full iMTD-GC -quick -mdlen 0.5 -gfnff runs end-to-end on MCP-0001..MCP-0006 (cyclic peptides, 111-196 atoms)
  • Single-point eeq guess path runs without error
  • (Open) lib-crest-shared still fails to link, but that's an unrelated PIC issue with libmace.a (relocation R_X86_64_PC32 against symbol stderr@@GLIBC_2.2.5) — not in scope for this PR

🤖 Generated with Claude Code

`gfnff_initialize` (gfnff main) replaced the legacy `print=logical,
iunit=int` pair with `printlevel=int, printunit=int`.  Map the existing
optional `pr` (logical) and `iunit` (int) arguments of `gfnff_api_setup`
to the new signature: pl=2 when pr=.true., 0 otherwise (silent default
matches old "pr absent" behavior); pu defaults to stdout.

`eeq_guess` (tblite xtb_solvation) gained a trailing `error` argument.
Pass through the `error_type` already in scope at the call site.

Without these the build now fails on a fresh deps fetch:
  gfnff_api.F90:75: Keyword argument 'print' is not in the procedure
  tblite_api.F90:379: There is no specific subroutine for 'eeq_guess'

Verified: crest-exe builds cleanly and runs an MCP iMTD-GC end-to-end
(see Bowen's MCP CREST benchmark, all 6 cyclic peptides).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant