Repository navigation
Conversation
…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
enabled auto-merge (squash)
May 28, 2026 16:30
12 of 16 tasks
Contributor
Author
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.
Summary
enable_rust_featuresdefaulted totrueincore/meson_options.txt. GitHub Ubuntu runners havecargobut lackcbindgen(a build dependency of the TAD crate'sbuild.rs). Thecargo buildstep silently produced no.a, but the linker still receivedlibvmafx_tad.aas alink_argpropagated transitively from thelibvmaflibrary'srust_tad_depdependency. Result: 44 link failures on every non-Rust CI job (PR fix(ci): post-rename path refs (unblocks merge train) #46 and all queued PRs refactor(core): C++23 pilot — mem.c → mem.cpp (ADR-0720) #41, refactor(core): C++23 pilot Wave 1 — opt.c → opt.cpp (ADR-0721) #43–refactor(core): cpp23 Wave 2 — project-wide cpp_std=c++23 + dict.c → dict.cpp #48).feat/drop-ansnr-20260528) deletedcore/test/test_ansnr_simd.cbut did not remove theexecutable()+test()declarations fromcore/test/meson.build. Meson halted withERROR: File test_ansnr_simd.c does not existon all CPU arches, blocking the build before the TAD link step.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_featuresdefaulttrue→false. Opt in via-Denable_rust_features=truewhen a full Rust + cbindgen toolchain is present.core/test/meson.build: removed orphantest_ansnr_simdexecutable()+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 cleanlymeson test -C build --suite=fast— 49/49 passReproducer
Reproduced by:
meson setup core/build -Denable_rust_features=trueon a host with cargo but no cbindgen, thenninja -C core/build.Deep-dive deliverables checklist
changelog.d/fixed/ci-libvmafx-tad-link.mdenable_rust_featuresdefault changeno 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