Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#599 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
冷清
技术栈
rust

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.
主要语言
TypeScript
星标
4.3k
派生
416
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Dimillian/CodexMonitor 的其他 Issue

查看 Dimillian/CodexMonitor 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。