Summary
The precompiled x64-mingw-ucrt gem (v41.0.1) installs successfully on Windows but fails at runtime when require "wasmtime" is called.
Environment
- OS: Windows Server 2022 (
windows-latest on GitHub Actions)
- Ruby: 3.2, 3.4, and 4.0 (all via RubyInstaller2 UCRT)
- Gem version: wasmtime 41.0.1 (
x64-mingw-ucrt)
- Install method: Bundler (
bundle install)
Error
Failure/Error: require "wasmtime"
LoadError:
cannot load such file -- wasmtime/wasmtime_rb
# ./vendor/bundle/ruby/3.4.0/gems/wasmtime-41.0.1-x64-mingw-ucrt/lib/wasmtime.rb:13:in '<top (required)>'
The loader in lib/wasmtime.rb tries wasmtime/3.4/wasmtime_rb first, then falls back to wasmtime/wasmtime_rb — both fail.
Reproduction
Any gem depending on wasmtime ~> 41.0 installed via Bundler on Windows with RubyInstaller2 UCRT will hit this. Our CI run demonstrating the failure: https://github.com/relaton/relaton-un/actions/runs/23171604086
Observation
The build-gems.yml workflow only smoke-tests precompiled gems when matrix.ruby-platform == 'x86_64-linux':
- name: Smoke gem install
if: matrix.ruby-platform == 'x86_64-linux' # GitHub actions architecture
run: bundle install && bundle exec rake pkg:${{ matrix.ruby-platform }}:test
The x64-mingw-ucrt variant is cross-compiled but never tested on an actual Windows runner, so this breakage isn't caught in CI.