Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Windows build failure: whisper-rs-sys bindgen generates glibc-specific types under MSVC

Aperta
#599 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
rust

Direzione di ricerca

Start by reproducing the failure for x86_64-pc-windows-msvc and inspect whisper-rs-sys binding generation, bundled bindings, and the resolved whisper-rs versions. Compare the behavior with WHISPER_DONT_GENERATE_BINDINGS=1 and the documented Windows build path. Done means establishing a supported Windows build approach and documenting or implementing the required compatibility change.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

Building CodexMonitor on Windows with the MSVC toolchain fails in whisper-rs-sys during binding generation / validation.

The generated or bundled bindings appear to assume glibc/GNU types and layouts, which are not valid for x86_64-pc-windows-msvc.

This blocks local Windows development from source.

Environment

  • OS: Windows 11
  • Rust: 1.95.0
  • Target: x86_64-pc-windows-msvc
  • LLVM/clang installed at C:\Program Files\LLVM\bin
  • LIBCLANG_PATH set correctly
  • No gcc in PATH
  • Using MSVC toolchain, not MinGW/MSYS2

Error

Build fails in whisper-rs-sys with errors like:

error[E0080]: attempt to compute `12_usize - 16_usize`, which would overflow
["Size of _G_fpos_t"][::std::mem::size_of::<_G_fpos_t>() - 16usize];

Similar failures also occur for:

  • _G_fpos64_t
  • _IO_FILE

Observations

  • These types (_G_fpos_t, _G_fpos64_t, _IO_FILE) are glibc/GNU-specific, not MSVC / Windows CRT types.
  • That suggests bindgen is generating Linux/glibc bindings during a Windows build, or the bundled bindings were generated from a glibc environment and are being reused on MSVC.
  • The issue reproduces across multiple whisper-rs versions, including:
    • whisper-rs = 0.12.0
    • whisper-rs = 0.16.0
  • It also still happens when setting:
WHISPER_DONT_GENERATE_BINDINGS=1

which suggests the pre-generated bindings are also not MSVC-compatible.

Dependency resolution seen

whisper-rs v0.14.3 (git)
└── whisper-rs-sys v0.13.0

Why this matters

CodexMonitor documents Windows source builds and ships Windows artifacts, but this failure makes it unclear how Windows builds are expected to work for contributors using the standard MSVC Rust target.

Questions

  • How is CodexMonitor successfully producing a Windows MSI today?
  • Are bindings pre-generated in a Windows-safe way somewhere else?
  • Is a specific toolchain required here (MSYS2 / MinGW vs MSVC)?
  • Is there a known-good whisper-rs / whisper-rs-sys version combination for Windows?
  • Should Windows builds disable dictation / whisper by default until bindings are known to be portable?

Possible directions

  • Avoid generating bindings from glibc headers on Windows/MSVC.
  • Ship Windows/MSVC-compatible pre-generated bindings.
  • Gate dictation / whisper behind target-specific features.
  • Document the exact supported Windows toolchain and dependency expectations.
Lingua principale
TypeScript
Stelle
4.3k
Fork
416
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Dimillian/CodexMonitor

Tutte le issue di Dimillian/CodexMonitor

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.