Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link failure (Rust 1.54) esp32s2 #3

Closed
MabezDev opened this issue Aug 2, 2021 · 7 comments
Closed

Link failure (Rust 1.54) esp32s2 #3

MabezDev opened this issue Aug 2, 2021 · 7 comments

Comments

@MabezDev
Copy link
Member

MabezDev commented Aug 2, 2021

Building esp std hello from this tree: https://github.com/ivmarkov/rust-esp32-std-hello/tree/07b7fb9a8f11b21c709c5277377f8f03439e27f1, the only modifications being the SSID, Pass & target in config.toml.

    Updating crates.io index
    Updating git repository `https://github.com/ivmarkov/libc.git`
   Compiling rust-esp32-std-hello v0.14.2 (/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello)
error: linking with `cargo-pio-link` failed: exit status: 1
  |
  = note: "cargo-pio-link" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.17pamn1c5ias0as1.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.1b6lc6ms2f18f3ea.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.1dbj2xzkvf86f1gy.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.1itjfh7gmsk7xbh7.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.1ost5lt6ejffkz3y.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.1wphx7uhjupoe75r.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.221k79kujycpmgj6.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.283wtpvs0uehl2c.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2at60ydjj69y9th3.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2drchrzhlijfafmp.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2if95hp17n23m85h.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2igywquu67sxhx95.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2r5r5y2vkahdqjmw.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2u5p27ut4w46gf49.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2x6ptb08qvhyvlvq.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2xbykl9hs1hkgtrl.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.2zd836dw9z45hg3d.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.3338v3rlvl7hu03z.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.3g0hsp8aid484cm.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.3j2kcte3d64oljz1.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.3mt04fofnvi9tgi8.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.3vovshvqxgcvug9t.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.42d0z9ydp5nn4x0s.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.47hfz4u9qf4ib9c0.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4d6opkzn2dp5svql.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4g2lv447yyb8wel.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4gr1svn1fpg70x8q.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4lxo8wom6ymo0csf.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4pujlbzwxie4uupq.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4wo57lqcos7za6n4.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.4ykxpynyg5x1n813.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.50tgedq46pafn9tl.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.54ky6s68jllwfl7j.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.55jx9vctbmo49t16.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.5a5tk4urairkf39e.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.5cug23beti6uewug.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.5kp51rr6ykdb901.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.dctido0t0eyejci.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.sdaxg9ew1txwm6f.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.sg9fjlb2rakwagu.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.zvg6f8qvsi9pwyk.rcgu.o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc.5etwit9xqrlrlq2r.rcgu.o" "-Wl,--as-needed" "-L" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps" "-L" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/debug/deps" "-L" "/home/mabez/development/rust/xtensa/rust-xtensa-dev/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/xtensa-esp32s2-espidf/lib" "-Wl,-Bstatic" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libst7789-ac9dda3d8b99bd12.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libheapless-92bd344fb7c18b0a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libstable_deref_trait-7b27dc766b09842b.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libhash32-b96af97d0a3b5c83.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libssd1306-510426343a87468c.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libdisplay_interface_i2c-005d6a0a20b6b11e.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libili9341-059e5b6cdfa6a089.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libembedded_graphics-cf6972cb999b985a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libbyteorder-0de791bc1505fc46.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libfloat_cmp-6063568f2460652c.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libnum_traits-4aa0300aefea3f7c.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libmicromath-8222e92ff80e4834.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libembedded_graphics_core-0baaee2feb5af04b.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libaz-f555d3aa48ab5f94.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libdisplay_interface_spi-e5440081c1b68c49.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libbyte_slice_cast-1af67f0c051c1634.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libdisplay_interface-a6daf5f90d1e1589.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libesp_idf_hal-c616605fde69f9f9.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libembedded_hal-e5eb12cde24baf7e.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libvoid-cd6d5fbfbe3ec03a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libnb-af4212696df3c384.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libnb-e1dc3b82f71b045c.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libesp_idf_svc-8bc6eb7072c4c7b0.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libesp_idf_sys-36a0b4252252b4cb.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libmutex_trait-e9e89de64d673a29.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libembedded_svc-3f8cc1056571c348.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libserde_json-779dddbdb0fdb6e9.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libryu-c87e37772c4d823c.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libitoa-d0d2825ee9d2ea12.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libstrum-b5623bb2819673b1.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libhttp_auth_basic-40a612b24d72cbe1.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libbase64-262e9458d3f02504.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libnum_enum-ecbc73f76d3a217a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libenumset-fc18e5037fa1ad3f.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libserde-39518d1241aec6f5.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/liburl-853bc62689d25129.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libidna-c3924beb1383a3d8.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libunicode_normalization-f19330a96427e75f.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libtinyvec-dd6a0bec56dd5284.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libtinyvec_macros-8a78de6e855b773a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libunicode_bidi-1c17a4e32bc9bdd7.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libform_urlencoded-0bb9818bbba2fa29.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libpercent_encoding-869a994028fa8185.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libmatches-1f36abd7400ed858.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/liblog-79d9612169c47349.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libcfg_if-160567f94f07f6c0.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libanyhow-dbf4d1477a28304c.rlib" "-Wl,--start-group" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libstd-b439acacf885d7c7.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libpanic_abort-a60c303fe6c46e66.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libstd_detect-679bf3bd9802aa11.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/librustc_demangle-3f90942c8a900593.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libhashbrown-b1b2abeb753cf925.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/librustc_std_workspace_alloc-ed6156631dff5f6a.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libunwind-f71f945327bbcea3.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libcfg_if-f41199913eb130ab.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/liblibc-b7eff6f280d1067d.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/liballoc-93a2db2338c255e2.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/librustc_std_workspace_core-e494da1e65b6754b.rlib" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libcore-9d827ef2b0205c83.rlib" "-Wl,--end-group" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/libcompiler_builtins-8e4e90349ad57dbd.rlib" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/mabez/development/rust/xtensa/rust-xtensa-dev/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/xtensa-esp32s2-espidf/lib" "-o" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/deps/rust_esp32_std_hello-93ff9ee32e6fc5bc" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "--cargo-pio-link-linker=/home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/xtensa-esp32s2-elf-gcc" "--cargo-pio-link-remove-duplicate-libs" "-L/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf" "-L/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug" "-L/home/mabez/.platformio/packages/framework-espidf/components/esp_wifi/lib/esp32s2" "-L/home/mabez/.platformio/packages/framework-espidf/components/esp_rom/esp32s2/ld" "-L/home/mabez/.platformio/packages/framework-espidf/components/xtensa/esp32s2" "-L/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp32s2" "-L/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp32s2/ld" "-L/home/mabez/.platformio/packages/framework-espidf/components/esp32s2/ld" "-Wl,--start-group" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_pm/libesp_pm.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/asio/libasio.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/cbor/libcbor.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/unity/libunity.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/cmock/libcmock.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/coap/libcoap.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/console/libconsole.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_adc_cal/libesp_adc_cal.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_hid/libesp_hid.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/protobuf-c/libprotobuf-c.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/protocomm/libprotocomm.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mdns/libmdns.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_local_ctrl/libesp_local_ctrl.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_websocket_client/libesp_websocket_client.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/expat/libexpat.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/wear_levelling/libwear_levelling.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/fatfs/libfatfs.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/freemodbus/libfreemodbus.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/jsmn/libjsmn.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/json/libjson.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/libsodium/liblibsodium.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mqtt/libmqtt.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/openssl/libopenssl.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/perfmon/libperfmon.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/spiffs/libspiffs.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/touch_element/libtouch_element.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/wifi_provisioning/libwifi_provisioning.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/app_trace/libapp_trace.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/app_update/libapp_update.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/bootloader_support/libbootloader_support.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/cxx/libcxx.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/driver/libdriver.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/efuse/libefuse.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp-tls/libesp-tls.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp32s2/libesp32s2.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_common/libesp_common.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_eth/libesp_eth.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_event/libesp_event.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_gdbstub/libesp_gdbstub.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_http_client/libesp_http_client.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_http_server/libesp_http_server.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_https_ota/libesp_https_ota.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_hw_support/libesp_hw_support.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_ipc/libesp_ipc.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_netif/libesp_netif.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_ringbuf/libesp_ringbuf.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_rom/libesp_rom.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_system/libesp_system.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_timer/libesp_timer.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/esp_wifi/libesp_wifi.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/espcoredump/libespcoredump.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/freertos/libfreertos.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/hal/libhal.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/heap/libheap.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/log/liblog.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/lwip/liblwip.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mbedtls/libmbedtls.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/newlib/libnewlib.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/nghttp/libnghttp.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/nvs_flash/libnvs_flash.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/pthread/libpthread.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/sdmmc/libsdmmc.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/soc/libsoc.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/spi_flash/libspi_flash.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/tcp_transport/libtcp_transport.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/tcpip_adapter/libtcpip_adapter.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/ulp/libulp.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/vfs/libvfs.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/wpa_supplicant/libwpa_supplicant.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/xtensa/libxtensa.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mbedtls/mbedtls/library/libmbedtls.a" "/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf/mbedtls/mbedtls/library/libmbedx509.a" "-lcoexist" "-lcore" "-lespnow" "-lmesh" "-lnet80211" "-lpp" "-lsmartconfig" "-lwapi" "-lphy" "-lxt_hal" "-lm" "-lgcc" "-lstdc++" "-lgcov" "-lc" "-Wl,--end-group" "-T" "esp32s2_out.ld" "-u" "esp_app_desc" "-u" "pthread_include_pthread_impl" "-u" "pthread_include_pthread_cond_impl" "-u" "pthread_include_pthread_local_storage_impl" "-u" "ld_include_panic_highint_hdl" "-u" "start_app" "-T" "esp32s2.rom.ld" "-T" "esp32s2.rom.api.ld" "-T" "esp32s2.rom.libgcc.ld" "-T" "esp32s2.rom.newlib-funcs.ld" "-T" "esp32s2.rom.newlib-data.ld" "-T" "esp32s2.rom.spiflash.ld" "-u" "vfs_include_syscalls_impl" "-T" "esp32s2.project.ld" "-T" "esp32s2.peripherals.ld" "-u" "call_user_start_cpu0" "-u" "app_main" "-u" "newlib_include_heap_impl" "-u" "newlib_include_syscalls_impl" "-u" "newlib_include_pthread_impl" "-u" "__cxa_guard_dummy" "-u" "__cxx_fatal_exception" "-Wl,--Map=/home/mabez/development/rust/embedded/experiments/rust-esp32-std-hello/target/xtensa-esp32s2-espidf/debug/build/esp-idf-sys-aa3383de2d84245f/out/esp-idf/.pio/build/debug/esp-idf.map" "-Wl,--cref" "-Wl,--gc-sections" "-Wl,--undefined=uxTopUsedPriority" "-Wl,--wrap=longjmp" "-Wl,--wrap=mbedtls_mpi_exp_mod" "-fno-lto" "-fno-rtti" "-mlongcalls" "-Og" "-g2" "-ggdb2"
  = note: Running the cargo-pio-link linker wrapper
          Error: Linker /home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/xtensa-esp32s2-elf-gcc failed: exit status: exit status: 1
          

error: aborting due to previous error

error: could not compile `rust-esp32-std-hello`

To learn more, run the command again with --verbose.

PIO toolchain verison:

/home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/xtensa-esp32s2-elf-gcc -v
Using built-in specs.
COLLECT_GCC=/home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/xtensa-esp32s2-elf-gcc
COLLECT_LTO_WRAPPER=/home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/../libexec/gcc/xtensa-esp32s2-elf/8.4.0/lto-wrapper
Target: xtensa-esp32s2-elf
Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32s2-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32s2-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32s2-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32s2-elf/xtensa-esp32s2-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32s2-elf/xtensa-esp32s2-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-2020r3' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32s2-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32s2-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32s2-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32s2-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes
Thread model: posix
gcc version 8.4.0 (crosstool-NG esp-2020r3)

error status 1 doesn't really tell us a lot unfortunately. Any ideas?

@ivmarkov
Copy link
Collaborator

ivmarkov commented Aug 2, 2021

Yep. Caused by the removal of my shameful "redirects" of pthread_rwlock_t to pthread_mutex_t as described here.

I've "fixed it" a couple of hours ago, but the truth is, we need pthread_rwlock_t implementation (either there or as a patch against the ESP-IDF) ASAP. I really do not want to return to the old Rust RwLock implementation in my libStd patches, as that was really difficult to maintain and increased the patch size significantly. The libStd patches (IMO) are much smaller & cleaner now, due to that and the lwip_ proxies removal.

What you need to do:

  • cargo install cargo-pio to get the new cargo-link proxy, which does report the linker errors coming from the GCC tollchain linker :). By the way, the patchset against libc will allow us to get rid of this proxy. That is, provided that the ESP-IDF GCC toolchain is on your $PATH
  • In the root of the rust compiler fork: cargo update -p libc (not sure this is absolutely needed, with my force-pushes to libc though)
  • in the root of rust-esp32-std-hello: cargo update

@MabezDev
Copy link
Member Author

MabezDev commented Aug 2, 2021

Hmmm doing all that hasn't helped unfortunately.

I forced installed pio from git: cargo install cargo-pio --git https://github.com/ivmarkov/cargo-pio --force

Cargo.lock in rust compiler:

[[package]]
name = "libc"
version = "0.2.98"
source = "git+https://github.com/ivmarkov/libc.git#85210e6b2e226216431f80f5a0b3ebb329f98adb"
dependencies = [
 "rustc-std-workspace-core",
]
rust-esp32-std-hello git:(main) ✗ cargo update
    Updating git repository `https://github.com/ivmarkov/libc.git`
    Updating crates.io index
    Updating git repository `https://github.com/ivmarkov/ili9341-rs`
    Updating esp-idf-svc v0.16.5 -> v0.16.6
    Updating esp-idf-sys v0.16.3 -> v0.16.4

Also just for transparency, some env info:

which clang
/home/mabez/development/rust/xtensa/llvm-project/build/bin/clang

I can't seem to capture the linker output from https://github.com/ivmarkov/cargo-pio/blob/01c8113428708d97906f60d4046a3b0421c3cecd/src/link.rs#L105-L112

All I see in the terminal is the status line: Error: Linker /home/mabez/.platformio/packages/toolchain-xtensa32s2/bin/xtensa-esp32s2-elf-gcc failed: exit status: exit status: 1

@ivmarkov
Copy link
Collaborator

ivmarkov commented Aug 3, 2021

I'm really sorry - I've actually forgotten to push and re-publish cargo-pio!
If you re-install it (crates.io is also ok) you should be able to see it.

(These debug statements needed export CARGO_PIO_LOG=debug and then cargo build --verboseif I'm not mistaken.)
The fix is making sure that the stderr redirect of the proxied linker is displayed regardless of the log level, as long as there is a failure.

@ivmarkov
Copy link
Collaborator

ivmarkov commented Aug 3, 2021

Guess, I was sleeping yesterday. Also rust-esp32-std-hello is now pushed to git, with the correct changes.

@MabezDev
Copy link
Member Author

MabezDev commented Aug 3, 2021

Haha no worries! By updating pio link, it showed me pio wasn't building the ULP loader & runner - after that a quickly figured out my cargo was too old. I now have it running on my esp32s2 here!

Thanks for the help!

@MabezDev MabezDev closed this as completed Aug 3, 2021
@ivmarkov
Copy link
Collaborator

ivmarkov commented Aug 3, 2021

The ULP thing has two annoyances:

  • Smallish: you need to extend the max length HTTP headers with cargo pio espidf menuconfig. We should probably then look at the generated sdkconfig.debug and manually move the HTTP headers param into sdkconfig.default.esp32s3-ulp-example
  • Largish: the main CPU does NOT go to sleep as expected, but immediately resets when I tell it to go to sleep. I suspect the ULP bootstrapping code somehow generates a trap (maybe I've still missed an invalid instruction or something in the bootstrapping code I copied from the riscv crate), and because of that, the main CPU is awoken immediately. In the meantime, the ULP program is executed though, the LED (my voltmetter actually) blinks, etc. I'm a bit at a loss what I might be missing here

@MabezDev
Copy link
Member Author

MabezDev commented Aug 3, 2021

Largish: the main CPU does NOT go to sleep as expected, but immediately resets when I tell it to go to sleep. I suspect the ULP bootstrapping code somehow generates a trap (maybe I've still missed an invalid instruction or something in the bootstrapping code I copied from the riscv crate), and because of that, the main CPU is awoken immediately. In the meantime, the ULP program is executed though, the LED (my voltmetter actually) blinks, etc. I'm a bit at a loss what I might be missing here

Commenting out the launching of the ULP app and esp32s2 goes into a deep sleep and stays there for about a minute - it must be ulp related.

I added some code to print the sleep wake up reason and I got the following:

rust_esp32_std_hello: Sleep wake up reason: 0x0B

Looking at the IDF source:

typedef enum {
    ESP_SLEEP_WAKEUP_UNDEFINED,    //!< In case of deep sleep, reset was not caused by exit from deep sleep
    ESP_SLEEP_WAKEUP_ALL,          //!< Not a wakeup cause, used to disable all wakeup sources with esp_sleep_disable_wakeup_source
    ESP_SLEEP_WAKEUP_EXT0,         //!< Wakeup caused by external signal using RTC_IO
    ESP_SLEEP_WAKEUP_EXT1,         //!< Wakeup caused by external signal using RTC_CNTL
    ESP_SLEEP_WAKEUP_TIMER,        //!< Wakeup caused by timer
    ESP_SLEEP_WAKEUP_TOUCHPAD,     //!< Wakeup caused by touchpad
    ESP_SLEEP_WAKEUP_ULP,          //!< Wakeup caused by ULP program
    ESP_SLEEP_WAKEUP_GPIO,         //!< Wakeup caused by GPIO (light sleep only)
    ESP_SLEEP_WAKEUP_UART,         //!< Wakeup caused by UART (light sleep only)
    ESP_SLEEP_WAKEUP_WIFI,              //!< Wakeup caused by WIFI (light sleep only)
    ESP_SLEEP_WAKEUP_COCPU,             //!< Wakeup caused by COCPU int
    ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG,   //!< Wakeup caused by COCPU crash
    ESP_SLEEP_WAKEUP_BT,           //!< Wakeup caused by BT (light sleep only)
} esp_sleep_source_t;

We can in fact see the wake up cause is ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG.

However like, I put my multimeter on pin 5 and can see it blinking too - very strange behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants