Skip to content

fix: unify Windows build on GNU toolchain (RubyInstaller + MSYS2)#419

Merged
takaokouji merged 1 commit into
developfrom
fix/gem-build-windows-gnu
Mar 29, 2026
Merged

fix: unify Windows build on GNU toolchain (RubyInstaller + MSYS2)#419
takaokouji merged 1 commit into
developfrom
fix/gem-build-windows-gnu

Conversation

@takaokouji

Copy link
Copy Markdown

Summary

Windows gem ビルドの MSVC/GNU ツールチェーン不一致を修正。

根本原因: ruby/setup-ruby は RubyInstaller (MinGW/GNU) を使うが、Rust のデフォルトターゲットが x86_64-pc-windows-msvc であるため、rb-sys の bindgen が MSVC の sysroot を探して strings.h not found エラーになっていた。

修正: 「混ぜるな危険」の原則に従い、GNU ツールチェーンに統一。

  • msys2/setup-msys2 → RubyInstaller 内蔵の MSYS2 (ridk exec pacman)
  • Rust ターゲット: x86_64-pc-windows-gnu を明示指定
  • MSYS2 環境変数のハック(CPATH, BINDGEN_EXTRA_CLANG_ARGS 等)を全て削除
  • Linux/Windows: verify ステップを bundle exec ruby に修正(ロードパス解決)

Related Issues

Follow-up to #416, #418

- Replace standalone msys2/setup-msys2 with RubyInstaller's built-in
  MSYS2 (ridk exec pacman) to keep toolchain consistent
- Set Rust target to x86_64-pc-windows-gnu to match RubyInstaller's
  MinGW toolchain (eliminates MSVC/GNU mismatch in rb-sys/bindgen)
- Remove MSYS2 env overrides (CPATH, BINDGEN_EXTRA_CLANG_ARGS, etc.)
- Fix Linux/Windows verify step to use bundle exec for load path

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@takaokouji takaokouji merged commit e004722 into develop Mar 29, 2026
9 checks passed
@takaokouji takaokouji deleted the fix/gem-build-windows-gnu branch March 29, 2026 14:20
@github-actions

Copy link
Copy Markdown

github-actions Bot pushed a commit that referenced this pull request Mar 29, 2026
…-windows-gnu

fix: unify Windows build on GNU toolchain (RubyInstaller + MSYS2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant