MabezDev / xtensa-rust-quickstart

A demo crate for the xtensa uC's (ESP32, ESP8266)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

memory.x:29: nonconstant expression for origin

Detegr opened this issue · comments

Hello there.
I tried to compile the example for esp32 but ran into following error when linking:

error: linking with `xtensa-esp32-elf-gcc` failed: exit code: 1
  |
  = note: "xtensa-esp32-elf-gcc" "-Wl,--eh-frame-hdr" "-L" "/xtensa-rust-quickstart/target/sysroot/lib/rustlib/xtensa-esp32-none-elf/lib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.12s6rtogey3ok8dr.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.16omcsp64bpkcdzj.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.1i76h23sq9n3eeej.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.1k28477uuyh5fs8e.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.1tf3hqi7ygqcaap1.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.1xu14lmtqu90090r.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.2hidal8dd24ahyaf.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.314oqwvv6g9ldoi2.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.3fpslq05vld0cvs0.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.3njotquzrpwi475r.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.4fpbrxy7rctbhg6t.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.55ga4t7b500ekle8.rcgu.o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18.evg0l2gn5u5iksn.rcgu.o" "-o" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/examples/esp32-e53c90d744387d18" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps" "-L" "/xtensa-rust-quickstart/target/debug/deps" "-L" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/build/esp32-hal-d617553593681dd0/out" "-L" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/build/esp32-a8da5a09c3818aee/out" "-L" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/build/xtensa-lx-3025baad3b9f65f0/out" "-L" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/build/xtensa-lx-rt-f2419e3aa5e9dd5d/out" "-L" "/xtensa-rust-quickstart/target/sysroot/lib/rustlib/xtensa-esp32-none-elf/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libpanic_halt-ae625657d0b9d755.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libesp32_hal-786973a1e212d510.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libxtensa_lx_rt-c456f337a8f8e245.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libr0-400bb613916a306a.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libesp32-11a8aa442184b430.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libxtensa_lx-bd982ef31164d605.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libspin-68a7a61ea1aae8ae.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libmutex_trait-4ee13c617b30f72e.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libvcell-a9e6dfffb8134b76.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libbare_metal-da315aeb813f4fd6.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libembedded_hal-174253866c29c540.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libvoid-61674a4dfdd238d2.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libnb-b2e0c75e5c994dbb.rlib" "/xtensa-rust-quickstart/target/xtensa-esp32-none-elf/debug/deps/libnb-9be7598c9f523760.rlib" "/xtensa-rust-quickstart/target/sysroot/lib/rustlib/xtensa-esp32-none-elf/lib/librustc_std_workspace_core-1087c5de032f0a6f.rlib" "/xtensa-rust-quickstart/target/sysroot/lib/rustlib/xtensa-esp32-none-elf/lib/libcore-ae68252d8bba5496.rlib" "-Wl,--end-group" "/xtensa-rust-quickstart/target/sysroot/lib/rustlib/xtensa-esp32-none-elf/lib/libcompiler_builtins-dc33447b23dbcdaf.rlib" "-Wl,-Tlink.x" "-nostartfiles" "-Wl,-Bdynamic"
  = note: memory.x:29: nonconstant expression for origin
          collect2: error: ld returned 1 exit status


error: aborting due to previous error

error: could not compile `xtensa-quickstart`

What I did was that I installed the esp32 toolchain, compiled rust-xtensa repo for rustc, adjusted setenv script accordingly, and built the project with cargo xbuild --example=esp32 --features="xtensa-lx-rt/lx6 xtensa-lx/lx6 esp32-hal" --release

$ xtensa-esp32-elf-gcc --version
xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0

Did I miss something obvious or is there something wrong here? Does it matter which version of rustc is used to build the rust-xtensa fork?

Hi, I've just updated the README to mention that for esp32 development, it requires a newer gcc. You should be good to go once that is installed.