Skip to content

fix(ci): unblock libvmafx_tad link error + orphan test_ansnr_simd - #53

Closed
lusoris wants to merge 1 commit into
masterfrom
fix/ci-libvmafx-tad-link-20260528
Closed

lusoris wants to merge 1 commit into
masterfrom
fix/ci-libvmafx-tad-link-20260528

Conversation

@lusoris

@lusoris lusoris commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix path chosen: default enable_rust_features=false (safest — no CI image changes needed) + remove orphan ansnr test declarations.

Changes

  • core/meson_options.txt: enable_rust_features default true → false. Opt in via -Denable_rust_features=true when a full Rust + cbindgen toolchain is present.
  • core/test/meson.build: removed orphan test_ansnr_simd executable() + test() blocks.
  • changelog.d/fixed/ci-libvmafx-tad-link.md: fragment per ADR-0221.
  • docs/state.md: recently-closed row for T-CI-LIBVMAFX-TAD-LINK-2026-05-28.
  • docs/rebase-notes.md: note for future Rust-extractor PRs.

Test plan

  • meson setup build core -Denable_cuda=false -Denable_sycl=false — completes without error (enable_rust_features not in output = false default)
  • ninja -C build — 724/724 targets, test_context links cleanly
  • meson test -C build --suite=fast — 49/49 pass
  • CI: all standard build matrix legs should proceed past the link step

Reproducer

/usr/bin/ld: cannot find /home/runner/work/vmafx/vmafx/core/build/src/libvmafx_tad.a: No such file or directory

Reproduced by: meson setup core/build -Denable_rust_features=true on a host with cargo but no cbindgen, then ninja -C core/build.

Deep-dive deliverables checklist

  • research digest: no digest needed: pre-existing master bug fix
  • decision matrix: no alternatives needed: only-one-way fix
  • AGENTS.md invariant: no rebase-sensitive invariants beyond rebase-notes.md entry
  • reproducer: exact error string above + fix command
  • changelog fragment: changelog.d/fixed/ci-libvmafx-tad-link.md
  • rebase-notes.md: entry added for enable_rust_features default change

no user-discoverable surface change — no per-surface docs required (ADR-0100 §exclusions: internal refactors + bug fixes with no user-visible delta)

🤖 Generated with Claude Code

…e-existing master bugs)

Two CI breakages landed on master and blocked all PRs (#41, #43–#48, etc.):

1. libvmafx_tad.a link error — enable_rust_features defaulted to true in
   meson_options.txt. GitHub Ubuntu runners have cargo but lack cbindgen
   (the TAD crate build dependency), so cargo build silently produced no
   .a while the linker still referenced libvmafx_tad.a via the
   rust_tad_dep link_args propagated from the libvmaf library() target.
   44 link failures observed on PR #46.
   Fix: default enable_rust_features=false; opt in with
   -Denable_rust_features=true when a full Rust+cbindgen toolchain is
   available.

2. test_ansnr_simd orphan — PR #38 deleted core/test/test_ansnr_simd.c
   but left the executable() and test() declarations in
   core/test/meson.build, causing "ERROR: File test_ansnr_simd.c does
   not exist" on all CPU arches during meson setup.
   Fix: remove both orphan blocks.

Verified: meson setup + ninja (724/724) + meson test --suite=fast
(49/49 pass) on a CPU-only build with enable_rust_features=false.

No user-discoverable surface change; no ADR required (bug fix).
no rebase-sensitive invariants
no decision matrix needed: pure CI infra fix
no digest needed: pre-existing master bug fix
no ffmpeg-patches impact: no public C API change
no docs needed: no user-discoverable surface change

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lusoris
lusoris enabled auto-merge (squash) May 28, 2026 16:30
@lusoris

lusoris commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

Superseded — rust default flip landed via PR #46 (commit 3cdc9f2).

@lusoris lusoris closed this May 28, 2026
auto-merge was automatically disabled May 28, 2026 17:23

Pull request was closed

@lusoris
lusoris deleted the fix/ci-libvmafx-tad-link-20260528 branch May 28, 2026 17:24
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