Skip to content

linker error on wasm32-unknown-wasi #59616

Closed
@nipzu

Description

@nipzu

The latest nightly compiler gives an error when trying to compile the following program. This happens on both linux and windows.

fn main() { 
    let x: f32 = 1.0;    
    println!("{}", x.exp());    
}
cargo build --target wasm32-unknown-wasi --verbose
   Compiling wasi-test v0.1.0 (/home/nipzu/Rust/Projects/wasi-test)
     Running `rustc --edition=2018 --crate-name wasi_test src/main.rs --color always --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=1e344a4dd462b7f0 --out-dir /home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps --target wasm32-unknown-wasi -C incremental=/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/incremental -L dependency=/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps -L dependency=/home/nipzu/Rust/Projects/wasi-test/target/debug/deps`
error: linking with `rust-lld` failed: exit code: 1
  |
  = note: "rust-lld" "-flavor" "wasm" "--no-threads" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "--export-dynamic" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/crt1.o" "-L" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.1w2kx6p410we2dv9.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.262rbh8drclez349.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.3j4242b81wugcvfu.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.4dpq3d34b5kwfmrn.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.547adopoh4091ny0.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.c73tu2b3ry71vnq.rcgu.o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.km7q79qtsdgnfem.rcgu.o" "-o" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.wasm" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps/wasi_test.1i4a2r4o2bnt2c87.rcgu.o" "--gc-sections" "-O0" "-L" "/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps" "-L" "/home/nipzu/Rust/Projects/wasi-test/target/debug/deps" "-L" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libstd-d54371532b852f78.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libpanic_abort-9e8130a91aab8ff8.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/librustc_demangle-e555dd9b6ee29cef.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libunwind-1478993ca163a2e4.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/liblibc-0b8f93edb1f6c4ad.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/liballoc-8d6532de468b007e.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/librustc_std_workspace_core-515a42b066dcde26.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libcore-f4c22bc297cbe3b5.rlib" "/home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libcompiler_builtins-043fc5bea0ea4db0.rlib"
  = note: rust-lld: error: duplicate symbol: expf
          >>> defined in /home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/liblibc-0b8f93edb1f6c4ad.rlib(expf.o)
          >>> defined in /home/nipzu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-wasi/lib/libcompiler_builtins-043fc5bea0ea4db0.rlib(compiler_builtins-043fc5bea0ea4db0.compiler_builtins.a6o6v31f-cgu.0.rcgu.o)
          

error: aborting due to previous error

error: Could not compile `wasi-test`.

Caused by:
  process didn't exit successfully: `rustc --edition=2018 --crate-name wasi_test src/main.rs --color always --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=1e344a4dd462b7f0 --out-dir /home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps --target wasm32-unknown-wasi -C incremental=/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/incremental -L dependency=/home/nipzu/Rust/Projects/wasi-test/target/wasm32-unknown-wasi/debug/deps -L dependency=/home/nipzu/Rust/Projects/wasi-test/target/debug/deps` (exit code: 1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.O-wasmTarget: WASM (WebAssembly), http://webassembly.org/T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions