ITADN

Hotpatching has linker issue

#24832Openrealhackcraft 创建于 2026-07-01
C-BugS-Needs-Triage
R
realhackcraftcommented
I couldn't find any info on **not** using latest dioxus, so I did. The Guide recommended 0.7.0rc.0, which I didn't deem important. This linker error Deons't appear using `cargo run` ## Bevy version and features - 0.17.3 - hotpatching ## Relevant system information - cargo 1.98.0-nightly (a335d47ff 2026-06-26) - dioxus 0.7.9 (bfcc111) - macOS 27 beta 2 ## What you did Run `BEVY_ASSET_ROOT=. dx serve --hot-patch --features bevy/hotpatching --open false` ## What went wrong I received the following linker issue: ``` 18:48:11 [dev] Failed to generate fat binary: ld: reference to symbol (which has not been assigned an address) __RNvNvNvNtNtCsk61RC1e8olq_11bevy_hanabiclang: error: linker command failed with exit code 1 (use -v to see invocation) 18:48:11 [dev] Build failed: Failed to generate fat binary: ld: reference to symbol (which has not been assigned an address) __RNvNvNvNtNtCsk61RC1e8olqclang: error: linker command failed with exit code 1 (use -v to see invocation) ``` ## Additional information <details><summary>config.toml</summary> <p> ```toml # Optimize compiliation with faster codegen for our code, but keeps llvm for packages. # NOTE: Cranelift is fast but results in slower binaries. We only use it for dev and not build. # # run `rustup component add rustc-codegen-cranelift-preview --toolchain nightly` # to install # Comment llvm/cranelift options when profiling. The profiler doesn't like it. [unstable] codegen-backend = true # NOTE: cranelift doesn't work on macOS for now # [profile.dev] # codegen-backend = "cranelift" [profile.dev.package."*"] codegen-backend = "llvm" # NOTE: For maximum performance, build using a nightly compiler # If you are using rust stable, remove the "-Zshare-generics=y" below. [target.x86_64-unknown-linux-gnu] linker = "clang" rustflags = [ "-Clink-arg=-fuse-ld=lld", # Use LLD Linker "-Zshare-generics=y", # (Nightly) Make the current crate share its generic instantiations "-Zthreads=0", # (Nightly) Use improved multithreading with the recommended amount of threads. ] [target.x86_64-apple-darwin] rustflags = [ "-Zshare-generics=y", # (Nightly) Make the current crate share its generic instantiations "-Zthreads=0", # (Nightly) Use improved multithreading with the recommended amount of threads. ] [target.aarch64-apple-darwin] rustflags = [ "-Zshare-generics=y", # (Nightly) Make the current crate share its generic instantiations "-Zthreads=0", # (Nightly) Use improved multithreading with the recommended amount of threads. ] [target.x86_64-pc-windows-msvc] linker = "rust-lld.exe" # Use LLD Linker rustflags = [ "-Zshare-generics=n", "-Zthreads=0", # (Nightly) Use improved multithreading with the recommended amount of threads. ] [target.x86_64-pc-windows-gnu] rustflags = [ "-Zshare-generics=y", # (Nightly) Make the current crate share its generic instantiations "-Zthreads=0", # (Nightly) Use improved multithreading with the recommended amount of threads. ] # Optional: Uncommenting the following improves compile times, but reduces the amount of debug info to 'line number tables only' # In most cases the gains are negligible, but if you are on macos and have slow compile times you should see significant gains. [profile.dev] debug = 1 ``` </p> </details> <details><summary>cargo.toml</summary> <p> ```toml [package] name = "app" version = "0.1.0" edition = "2024" [features] webgl2 = [] default = ["debug_inspector"] embed_assets = ["dep:bevy_embedded_assets"] debug_inspector = ["dep:bevy-inspector-egui", "bevy/dynamic_linking"] cross_windows = ["dep:blake3"] [dependencies] bevy = { version = "0.17.3", features = ["wav"] } avian2d = "0.5" bevy-inspector-egui = { version = "0.35", optional = true } bevy_embedded_assets = { version = "0.14", optional = true } bevy_hanabi = "0.17" log = { version = "*", features = [ "max_level_debug", "release_max_level_warn", ] } rand = "0.9" # For windows [target.x86_64-pc-windows-msvc.dependencies] # Use pure rust implementation of blake3 for cross-compilation, as blake3 assumes # windows environment and tries to run EXE during compilation, which can fail # during cross-compilation. blake3 = { version = "1.8", features = ["pure"], optional = true } # Enable a small amount of optimization in the dev profile. [profile.dev] opt-level = 1 # Enable a large amount of optimization in the dev profile for dependencies. [profile.dev.package."*"] opt-level = 3 # Enable more optimization in the release profile at the cost of compile time. [profile.release] opt-level = 3 # Compile the entire crate as one unit. # Slows compile times, marginal improvements. codegen-units = 1 # Do a second optimization pass over the entire program, including dependencies. # Slows compile times, marginal improvements. lto = "thin" # NOTE: Use fat when releasing, but thin is also fine for profiling # lto = "fat" # Optimize for size in the wasm-release profile to reduce load times and bandwidth usage on web. [profile.wasm-release] # Default to release profile values. inherits = "release" # Optimize with size in mind (also try "z", sometimes it is better). # Slightly slows compile times, great improvements to file size and runtime performance. opt-level = "s" # Strip all debugging information from the binary to slightly reduce file size. strip = "debuginfo" ``` </p> </details>
0 条评论