3

Whenever I run trunk build or cargo run --target=wasm32-unknown-unknown I get a bunch of scope errors.

enter image description here

I've already run rustup target add wasm32-unknown-unknown and cargo install --locked wasm-bindgen-cli, but still had no luck.

What do these error messages mean?

[Edit] The output is pretty long, but it starts like this:

[2m2022-06-06T01:51:52.351114Z[0m [32m INFO[0m  starting build
[2m2022-06-06T01:51:52.351741Z[0m [32m INFO[0m spawning asset pipelines
[2m2022-06-06T01:51:52.390738Z[0m [32m INFO[0m building yew-app
   Compiling ryu v1.0.10
   Compiling itoa v1.0.2
   Compiling cfg-if v1.0.0
   Compiling hashbrown v0.11.2
   Compiling slab v0.4.6
   Compiling scoped-tls-hkt v0.1.2
   Compiling serde v1.0.137
   Compiling thiserror v1.0.31
error[E0463]: can't find crate for `core`
  |
  = note: the `wasm32-unknown-unknown` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0463]: can't find crate for `compiler_builtins`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `cfg-if` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0463]: can't find crate for `core`
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.2/src/lib.rs:44:5
   |
44 | use core::mem::{self, MaybeUninit};
   |     ^^^^ can't find crate
   |
   = note: the `wasm32-unknown-unknown` target may not be installed
   = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0463]: can't find crate for `std`
  |
  = note: the `wasm32-unknown-unknown` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0463]: can't find crate for `core`
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.2/src/lib.rs:45:5
   |
45 | use core::{ptr, slice, str};
   |     ^^^^ can't find crate
   |
   = note: the `wasm32-unknown-unknown` target may not be installed
   = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error: cannot find macro `debug_assert_eq` in this scope
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.2/src/udiv128.rs:39:5
   |
39 |     debug_assert_eq!(quot, n / d as u128);
   |     ^^^^^^^^^^^^^^^

error: cannot find macro `debug_assert_eq` in this scope
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.2/src/udiv128.rs:40:5
   |
40 |     debug_assert_eq!(rem as u128, n % d as u128);
   |     ^^^^^^^^^^^^^^^

error[E0463]: can't find crate for `core`
 --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/ryu-1.0.10/src/buffer/mod.rs:2:5
  |
2 | use core::mem::MaybeUninit;
  |     ^^^^ can't find crate
  |
  = note: the `wasm32-unknown-unknown` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0463]: can't find crate for `core`
 --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/ryu-1.0.10/src/buffer/mod.rs:3:5
  |
3 | use core::{slice, str};
  |     ^^^^ can't find crate
  |
  = note: the `wasm32-unknown-unknown` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0463]: can't find crate for `core`
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/ryu-1.0.10/src/d2s.rs:27:5
   |
27 | use core::mem::MaybeUninit;
   |     ^^^^ can't find crate
   |
   = note: the `wasm32-unknown-unknown` target may not be installed
   = help: consider downloading the target with `rustup target add wasm32-unknown-unknown`

error[E0433]: failed to resolve: use of undeclared type `MaybeUninit`
  --> /Users/patrickstivalchaerke/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.2/src/lib.rs:80:22
   |
80 |         let bytes = [MaybeUninit::<u8>::uninit(); I128_MAX_LEN];
   |                      ^^^^^^^^^^^ use of undeclared type `MaybeUninit`

[Edit 2]

I saw that the beginning of the output says I should consider installing target wasm32-unknown-unknown.

But I actually do have it installed. Another terminal output:

yew-app git:(master) ✗ rustup target add wasm32-unknown-unknown
info: component 'rust-std' for target 'wasm32-unknown-unknown' is up to date

yew-app git:(master) ✗ rustc -V
rustc 1.59.0
Chayim Friedman
  • 47,971
  • 5
  • 48
  • 77
metal bar
  • 522
  • 3
  • 12
  • 2
    Please include output as text instead of an image. Also the errors are strange since they're from code in a dependency. What does `rustc -V` show what version of Rust you're using? – kmdreko Jun 05 '22 at 00:54
  • [this reddit post](https://www.reddit.com/r/learnrust/comments/u0139a/whenever_i_run_cargo_wasm_on_an_m1_mac_i_get_a/) seems to indicate some sort of target/toolchain issue, but you've already added the `wasm32-unknown-unknown` target that seemed to fix it for them :/ Seeing the full error (or at least the top) would be helpful to see what `trunk` is calling – kmdreko Jun 05 '22 at 01:56
  • 2
    `None` is part of the standard Rust prelude, so that being missing hints at a toolchain misconfiguration. – cdhowie Jun 05 '22 at 01:57
  • Please read [Discourage screenshots of code and/or errors](https://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors). Paste the code and the error trace. – Rabbid76 Jun 05 '22 at 05:21
  • Please put the word `none` as the syntax type for transcripts and logs so they don't get hightlighted as code. – Charles Duffy Jun 06 '22 at 02:00

1 Answers1

8

Actually I had rust from homebrew and rustup installed separately. I guess they do not play well together.

I uninstalled rust from brew, reinstalled rustup, installed wasm-bindgen-cli, added the target and it worked.

List of commands I have run:

rustup target remove wasm32-unknown-unknown
rustup self uninstall
brew uninstall rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add wasm32-unknown-unknown
cargo install --locked trunk
cargo clean
trunk clean
cargo install --locked wasm-bindgen-cli

# And finally
trunk serve
metal bar
  • 522
  • 3
  • 12