fix(deps): re-pin whisper-rs-sys to the bindgen 0.72.1 fix - #89
Merged
Merged
Conversation
cargo kept whisper-rs-sys at eb61d3d8 even after VectorPrivacy/whisper-rs master moved; that commit pins bindgen 0.71, which emits 1-byte stub structs under libclang 22 and breaks the build with E0080. Re-pinned to af034af9 (bindgen 0.72.1, whisper-rs#2). Verified on Arch with clang 22.1.8: bindings regenerate live with full field lists. Fixes VectorPrivacy#88
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.
What
One lockfile change:
whisper-rs-sysre-pinned fromeb61d3d8toaf034af9(the merge of whisper-rs#2), which carries
bindgen 0.72.1.cargo keeps the locked git commit even when the tracked
masterbranchmoves, so Vector kept building against the pre-fix commit until now.
Why
LLVM 22 (libclang 22, e.g. Arch) changed the AST representation of nested
name specs. bindgen < 0.72.1 then walks the forward-declaration cursor for
structs declared early and defined later (
struct whisper_full_params;inwhisper.h,
struct _IO_FILE;in glibc) and emits 1-byte opaque stubs whilethe layout assertion still expects the real C size →
E0080inwhisper-rs-sys. Fixed upstream in rust-lang/rust-bindgen#3278, released in
0.72.1.
Verified
On Arch (clang 22.1.8), clean
npm run buildwith default features(
whisper,tor):whisper-rs-sys #af034af9regenerates bindings live — noWHISPER_DONT_GENERATE_BINDINGS, no manually patched bindingswhisper_full_params: 57 fields,_IO_FILE: 33 fields, all 7ggml_backend_vk_*externs — no E0080No
Cargo.tomlchange — the dependency tracks the branch.Closes #88