espressif/rust-esp32-example

`memalign` not implemented

bugadani opened this issue · 2 comments

When trying to compile code that has Box::new() in it, build fails with the following linker error:

c:/users/bugad/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/newlib/libnewlib.a(heap.c.obj):(.literal.memalign+0x0): undefined reference to `memalign_function_was_linked_but_unsupported_in_esp_idf'
c:/users/bugad/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/newlib/libnewlib.a(heap.c.obj): in function `memalign':
C:/Users/bugad/esp/esp-idf/components/newlib/heap.c:38: undefined reference to `memalign_function_was_linked_but_unsupported_in_esp_idf'

I'm trying to build for an ESP32, using idf 4.2.

Looking at the IDF source, it looks like the issue is that I'm not using >= 4.3. This should probably be documented somewhere.

The recommended branch is master or 4.4.
Please, can you verify the issue with newer version of ESP-IDF?
We also published Rust 1.55 with installation instructions in project https://github.com/esp-rs/rust-build.

With 4.3, everything is working fine. I have not tried 4.4 yet.