Symptom
npm run build on a machine with libclang ≥ 22 (Arch Linux) fails in whisper-rs-sys with E0080 — bindgen 0.71.1 can't parse _IO_FILE / whisper_full_params under the new LLVM 22 AST, emits 1-byte stubs, and the layout assertions overflow.
Root cause & fix (upstream)
Vector-side follow-up (this is what this issue tracks)
After PR #2 merges into VectorPrivacy/whisper-rs:master:
cd src-tauri && cargo update -p whisper-rs-sys — re-pin Cargo.lock from eb61d3d8 to the new master commit (cargo keeps the old pinned commit by itself).
- Commit the
Cargo.lock change.
No Cargo.toml changes needed — the dependency tracks the branch.
Acceptance
On an Arch machine (libclang 22.x): clean npm run build with default features (whisper, tor) succeeds without any WHISPER_DONT_GENERATE_BINDINGS env var or manually patched bindings — i.e. whisper-rs-sys regenerates its bindings live.
Symptom
npm run buildon a machine with libclang ≥ 22 (Arch Linux) fails inwhisper-rs-syswithE0080— bindgen 0.71.1 can't parse_IO_FILE/whisper_full_paramsunder the new LLVM 22 AST, emits 1-byte stubs, and the layout assertions overflow.Root cause & fix (upstream)
bindgento 0.72.1)Vector-side follow-up (this is what this issue tracks)
After PR #2 merges into
VectorPrivacy/whisper-rs:master:cd src-tauri && cargo update -p whisper-rs-sys— re-pinCargo.lockfromeb61d3d8to the new master commit (cargo keeps the old pinned commit by itself).Cargo.lockchange.No
Cargo.tomlchanges needed — the dependency tracks the branch.Acceptance
On an Arch machine (libclang 22.x): clean
npm run buildwith default features (whisper,tor) succeeds without anyWHISPER_DONT_GENERATE_BINDINGSenv var or manually patched bindings — i.e.whisper-rs-sysregenerates its bindings live.