rust-lang / rust-lang/rustc_codegen_gcc

Failure to build wgpu-hal@26.0.6 crate for ruffle

Open
#790 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
1.2k
Forks
105
Avg merge
8h 20m
Merged PRs (30d)
14

Description

$ git clone https://github.com/ruffle-rs/ruffle
$ git rev-parse HEAD
1aad9ba00001103b7c1309fff3e7e3f650cd5d17
$ cargo build --jobs 1
   Compiling wgpu-hal v26.0.6
libgccjit.so: /home/sam/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-hal-26.0.6/src/gles/egl.rs:928:22: error: : gcc_jit_context_new_call_through_ptr: too many arguments to fn_ptr: invokeResult (got 2 args, expected 0)
libgccjit.so: /home/sam/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-hal-26.0.6/src/gles/egl.rs:928:22: error: : gcc_jit_block_add_eval: NULL rvalue
error: failed to build archive at `/tmp/ruffle/target/debug/deps/libwgpu_hal-937d074511921d17.rlib`: failed to open object file: No such file or directory (os error 2)

fatal runtime error: failed to initiate panic, error 5, aborting
error: could not compile `wgpu-hal` (lib) due to 1 previous error

Caused by:
  process didn't exit successfully: `rustc --crate-name wgpu_hal --edition=2021 /home/sam/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-hal-26.0.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=186 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --warn=unexpected_cfgs --check-cfg 'cfg(web_sys_unstable_apis)' --cfg 'feature="dx12"' --cfg 'feature="fragile-send-sync-non-atomic-wasm"' --cfg 'feature="gles"' --cfg 'feature="portable-atomic"' --cfg 'feature="renderdoc"' --cfg 'feature="vulkan"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cargo-clippy", "device_lost_panic", "dx12", "fragile-send-sync-non-atomic-wasm", "gles", "gpu-allocator", "internal_error_panic", "metal", "portable-atomic", "renderdoc", "rustc-hash", "static-dxc", "validation_canary", "vulkan"))' -C metadata=6529142441262abd -C extra-filename=-937d074511921d17 --out-dir /tmp/ruffle/target/debug/deps -L dependency=/tmp/ruffle/target/debug/deps --extern arrayvec=/tmp/ruffle/target/debug/deps/libarrayvec-8d49f6a4465e48d5.rmeta --extern ash=/tmp/ruffle/target/debug/deps/libash-e09e9786aa9bffd9.rmeta --extern bitflags=/tmp/ruffle/target/debug/deps/libbitflags-486e009648a51002.rmeta --extern bytemuck=/tmp/ruffle/target/debug/deps/libbytemuck-9c1b80568b3c3bce.rmeta --extern cfg_if=/tmp/ruffle/target/debug/deps/libcfg_if-13eefbb9552ae6ce.rmeta --extern glow=/tmp/ruffle/target/debug/deps/libglow-03d6a0f6a27156a3.rmeta --extern gpu_alloc=/tmp/ruffle/target/debug/deps/libgpu_alloc-f45f29940cac17f4.rmeta --extern gpu_descriptor=/tmp/ruffle/target/debug/deps/libgpu_descriptor-75b4a102dcb185bf.rmeta --extern hashbrown=/tmp/ruffle/target/debug/deps/libhashbrown-6cdce1d3e85c7a10.rmeta --extern khronos_egl=/tmp/ruffle/target/debug/deps/libkhronos_egl-ccee81f2e0e8db52.rmeta --extern libc=/tmp/ruffle/target/debug/deps/liblibc-9d647222563ff0c5.rmeta --extern libloading=/tmp/ruffle/target/debug/deps/liblibloading-20fcdef468baaa01.rmeta --extern log=/tmp/ruffle/target/debug/deps/liblog-2da8f5d156dbca5a.rmeta --extern naga=/tmp/ruffle/target/debug/deps/libnaga-5cb75e0b37969ad8.rmeta --extern ordered_float=/tmp/ruffle/target/debug/deps/libordered_float-fdba31c11a0d7021.rmeta --extern parking_lot=/tmp/ruffle/target/debug/deps/libparking_lot-ef1fa96aa4a7fe4d.rmeta --extern profiling=/tmp/ruffle/target/debug/deps/libprofiling-3c5e8df22f4a5529.rmeta --extern raw_window_handle=/tmp/ruffle/target/debug/deps/libraw_window_handle-9d5c1232a84b796c.rmeta --extern renderdoc_sys=/tmp/ruffle/target/debug/deps/librenderdoc_sys-acdf5d4f828e1683.rmeta --extern smallvec=/tmp/ruffle/target/debug/deps/libsmallvec-fce6c8ab11675c49.rmeta --extern thiserror=/tmp/ruffle/target/debug/deps/libthiserror-ea361b5635878557.rmeta --extern wgpu_types=/tmp/ruffle/target/debug/deps/libwgpu_types-6025160ab194f309.rmeta --cap-lints allow --cfg=web_sys_unstable_apis --cfg native --cfg send_sync --cfg gles --cfg gles_with_std --cfg vulkan --cfg supports_64bit_atomics --cfg supports_ptr_atomics --check-cfg 'cfg(native)' --check-cfg 'cfg(send_sync)' --check-cfg 'cfg(webgl)' --check-cfg 'cfg(Emscripten)' --check-cfg 'cfg(dx12)' --check-cfg 'cfg(gles)' --check-cfg 'cfg(gles_with_std)' --check-cfg 'cfg(metal)' --check-cfg 'cfg(vulkan)' --check-cfg 'cfg(static_dxc)' --check-cfg 'cfg(supports_64bit_atomics)' --check-cfg 'cfg(supports_ptr_atomics)'` (signal: 6, SIGABRT: process abort signal)
$ rustc -vV
rustc 1.91.0-nightly (21cd82aa6 2025-10-08) (gentoo)
binary: rustc
commit-hash: 21cd82aa6363f7ceaebefafc528e62124267461c
commit-date: 2025-10-08
host: x86_64-unknown-linux-gnu
release: 1.91.0-nightly

This is with the rust 1.91.0 beta from 20251009 and github.com/rust-lang/rust from b93730ce97c738bdb9209aa973d3fc6fd4ce1d81.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with cargo build --jobs 1 in the Ruffle checkout using the reported rustc versions and commits. Inspect wgpu-hal-26.0.6/src/gles/egl.rs:928 and the rustc_codegen_gcc behavior around the reported libgccjit call, then establish whether the failure is a compiler regression or dependency interaction; done means documenting a reproducible resolution or compatibility finding.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.