emilk / emilk/egui

Windows build with xbuild failing when http feature is enabled.

Open
#5,503 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
30.6k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
72

Description

**Describe the bug**

When the `http` feature is enabled and the image loaders are registered, the linking fails when building for windows with xbuild from Linux (tested under Debian and Fedora). There are many similar errors to this, all in ring:

```
rust-lld: error: undefined symbol: _mm_setzero_si128
>>> referenced by /home/daniel/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/crypto/poly1305/poly1305_vec.c:129
>>> libring-99d4b686355d1f30.rlib(123d8a351a02283d-poly1305_vec.o):(ring_core_0_17_8_CRYPTO_poly1305_init)
>>> referenced by /home/daniel/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/crypto/poly1305/poly1305_vec.c:130
>>> libring-99d4b686355d1f30.rlib(123d8a351a02283d-poly1305_vec.o):(ring_core_0_17_8_CRYPTO_poly1305_init)
>>> referenced by /home/daniel/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/crypto/poly1305/poly1305_vec.c:131
>>> libring-99d4b686355d1f30.rlib(123d8a351a02283d-poly1305_vec.o):(ring_core_0_17_8_CRYPTO_poly1305_init)
>>> referenced 2 more times
```

Full log: [build.log](https://github.com/user-attachments/files/18188494/build.log)

Is this a ring or an egui bug?

**To Reproduce**
Steps to reproduce the behavior:

main.rs
```rust
use eframe::egui::Context;
use egui_extras::install_image_loaders;

fn main() {
install_image_loaders(&Context::default());
}
```

Cargo.toml
```toml
[package]
name = "ring-test"
version = "0.1.0"
edition = "2021"

[dependencies]
eframe = { git = "https://github.com/emilk/egui", branch = "master" }
egui_extras = { git = "https://github.com/emilk/egui", branch = "master", features = [
"http",
] }
```

Install xbuild:

```
cargo install xbuild
```

Then run

```
x build --platform windows --arch x64
```

**Expected behavior**

Build succeeds

**Desktop (please complete the following information):**
- OS: Fedora 41
- xbuild 0.2.0

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

Start with the minimal main.rs and Cargo.toml reproduction, then run `x build --platform windows --arch x64` with the `http` feature and image loaders enabled. Compare the linker errors involving ring with the full build.log to establish whether the failure belongs to egui or its dependency; done means the Windows build succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.