espressif / rust-esp32-example

Example of Rust integration into an ESP-IDF project, for ESP32 series of chips
MIT License
436 stars 36 forks source link

Can't compile the example -- rustlib_project #43

Closed alex915shen closed 2 years ago

alex915shen commented 2 years ago

shenxiaodeMacBook-Pro:rust-esp32-example-main shenxiao$ idf.py build Executing action: all (aliases: build) Running ninja in directory /Users/shenxiao/esp/rust-esp32-example-main/build Executing "ninja all"... [1/15] Performing build step for 'bootloader' [1/1] cd /Users/shenxiao/esp/rust-esp32-example-main/build/bootloader/esp-idf/esptool_py && /Users/shenxiao/.espressif/python_env/idf5.0_py3.9_env/bin/python /Users/shenxiao/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /Users/shenxiao/esp/rust-esp32-example-main/build/bootloader/bootloader.bin Bootloader binary size 0x4f00 bytes. 0x3100 bytes (38%) free. [2/13] Performing build step for 'rustlib_project' FAILED: esp-idf/rustlib/stamp/rustlib_project-build esp-idf/rustlib/target/RustApi.h esp-idf/rustlib/target/xtensa-esp32-espidf/release/librustlib.a /Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/stamp/rustlib_project-build /Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/RustApi.h /Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/xtensa-esp32-espidf/release/librustlib.a cd /Users/shenxiao/esp/rust-esp32-example-main/components/rustlib && /usr/local/Cellar/cmake/3.21.4/bin/cmake -E env CARGO_BUILD_TARGET=xtensa-esp32-espidf CARGO_BUILD_TARGET_DIR=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target "CARGO_CMAKE_BUILD_INCLUDES=/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/newlib/platform_include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include;/Users/shenxiao/esp/esp-idf/components/freertos/esp_additions/include/freertos;/Users/shenxiao/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include;/Users/shenxiao/esp/esp-idf/components/freertos/esp_additions/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_hw_support/include;/Users/shenxiao/esp/esp-idf/components/esp_hw_support/include/soc;/Users/shenxiao/esp/esp-idf/components/esp_hw_support/include/soc/esp32s3;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_hw_support/port/esp32s3/.;/Users/shenxiao/esp/esp-idf/components/esp_hw_support/port/esp32s3/private_include;/Users/shenxiao/esp/esp-idf/components/heap/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/log/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/lwip/include/apps;/Users/shenxiao/esp/esp-idf/components/lwip/include/apps/sntp;/Users/shenxiao/esp/esp-idf/components/lwip/lwip/src/include;/Users/shenxiao/esp/esp-idf/components/lwip/port/esp32/include;/Users/shenxiao/esp/esp-idf/components/lwip/port/esp32/include/arch;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/soc/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/soc/esp32s3/.;/Users/shenxiao/esp/esp-idf/components/soc/esp32s3/include;/Users/shenxiao/esp/esp-idf/components/hal/esp32s3/include;/Users/shenxiao/esp/esp-idf/components/hal/include;/Users/shenxiao/esp/esp-idf/components/hal/platform_port/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_rom/include;/Users/shenxiao/esp/esp-idf/components/esp_rom/include/esp32s3;/Users/shenxiao/esp/esp-idf/components/esp_rom/esp32s3;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_common/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_system/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_system/port/soc;/Users/shenxiao/esp/esp-idf/components/esp_system/port/include/private;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/xtensa/include;/Users/shenxiao/esp/esp-idf/components/xtensa/esp32s3/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/driver/include;/Users/shenxiao/esp/esp-idf/components/driver/esp32s3/include;/Users/shenxiao/esp/esp-idf/components/driver/deprecated;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_pm/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_ringbuf/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/efuse/include;/Users/shenxiao/esp/esp-idf/components/efuse/esp32s3/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/vfs/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_wifi/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_event/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_netif/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_eth/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/tcpip_adapter/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_phy/include;/Users/shenxiao/esp/esp-idf/components/esp_phy/esp32s3/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/app_trace/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/esp-idf/components/esp_timer/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config;/Users/shenxiao/esp/rust-esp32-example-main/components/clib/include;/Users/shenxiao/esp/rust-esp32-example-main/build/config" "CARGO_CMAKE_BUILD_LINK_LIBRARIES=idf_cxx;__idf_newlib;idf_freertos;idf_esp_hw_support;__idf_heap;idf_log;idf_lwip;__idf_soc;idf_hal;idf_esp_rom;idf_esp_common;idf_esp_system;idf_esp32s3;idf_cxx;__idf_newlib;idf_freertos;idf_esp_hw_support;__idf_heap;idf_log;idf_lwip;__idf_soc;idf_hal;idf_esp_rom;idf_esp_common;idf_esp_system;idf_esp32s3;__idf_clib;rustlib_lib" CARGO_CMAKE_BUILD_SDKCONFIG=/Users/shenxiao/esp/rust-esp32-example-main/sdkconfig CARGO_CMAKE_BUILD_COMPILER=/Users/shenxiao/.espressif/tools/xtensa-esp32s3-elf/esp-2021r2-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc cargo build --release --features=std Compiling clap v2.34.0 Compiling proc_macro v0.0.0 (/Users/shenxiao/.rustup/toolchains/esp/lib/rustlib/src/rust/library/proc_macro) error: could not compile clap

Caused by: process didn't exit successfully: rustc --crate-name clap --edition=2018 /Users/shenxiao/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-2.34.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C debug-assertions=off --cfg 'feature="ansi_term"' --cfg 'feature="atty"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="strsim"' --cfg 'feature="suggestions"' --cfg 'feature="vec_map"' -C metadata=55042f78114c7e29 -C extra-filename=-55042f78114c7e29 --out-dir /Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps -L dependency=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps --extern ansi_term=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libansi_term-23432b83f760f605.rmeta --extern atty=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libatty-cc4707dbd2fdb3e5.rmeta --extern bitflags=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libbitflags-51e962567e831d8f.rmeta --extern strsim=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libstrsim-63996d4907a56da0.rmeta --extern textwrap=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libtextwrap-d50e41a262b898f2.rmeta --extern unicode_width=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libunicode_width-9b15bec041973797.rmeta --extern vec_map=/Users/shenxiao/esp/rust-esp32-example-main/build/esp-idf/rustlib/target/release/deps/libvec_map-ea83e17436d8962b.rmeta --cap-lints allow (signal: 6, SIGABRT: process abort signal) warning: build failed, waiting for other jobs to finish... error: build failed ninja: build stopped: subcommand failed. ninja failed with exit code 1 shenxiaodeMacBook-Pro:rust-esp32-example-main shenxiao$ which clang /Users/shenxiao/.espressif/tools/xtensa-esp32-elf-clang/esp-12.0.1-20210914-x86_64-apple-darwin/bin//clang shenxiaodeMacBook-Pro:rust-esp32-example-main shenxiao$ which llvm-config /Users/shenxiao/.espressif/tools/xtensa-esp32-elf-clang/esp-12.0.1-20210914-x86_64-apple-darwin/bin//llvm-config shenxiaodeMacBook-Pro:rust-esp32-example-main shenxiao$ rustc --print target-list | grep esp riscv32imc-esp-espidf xtensa-esp32-espidf xtensa-esp32-none-elf xtensa-esp32s2-espidf xtensa-esp32s2-none-elf xtensa-esp32s3-espidf xtensa-esp32s3-none-elf xtensa-esp8266-none-elf shenxiaodeMacBook-Pro:rust-esp32-example-main shenxiao$ env TERM_PROGRAM=Apple_Terminal TERM=xterm-256color SHELL=/bin/bash TMPDIR=/var/folders/cc/pcpjcp6n237g4t75_z2bpyk00000gn/T/ TERM_PROGRAM_VERSION=443 OLDPWD=/Users/shenxiao/esp TERM_SESSION_ID=F04C98A9-63A9-4EF7-AC50-69D84E008FF6 GOPRIVATE=gitlab.*.com USER=shenxiao LIBCLANG_PATH=/Users/shenxiao/.espressif/tools/xtensa-esp32-elf-clang/esp-12.0.1-20210914-x86_64-apple-darwin/lib/ SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.tCSJi1sGqn/Listeners GO111MODULE=on IDF_TOOLS_INSTALL_CMD=/Users/shenxiao/esp/esp-idf/install.sh PATH=/Users/shenxiao/.espressif/tools/xtensa-esp32-elf-clang/esp-12.0.1-20210914-x86_64-apple-darwin/bin/:/Users/shenxiao/esp/esp-idf/components/esptool_py/esptool:/Users/shenxiao/esp/esp-idf/components/espcoredump:/Users/shenxiao/esp/esp-idf/components/partition_table:/Users/shenxiao/esp/esp-idf/components/app_update:/Users/shenxiao/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin:/Users/shenxiao/.espressif/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin:/Users/shenxiao/.espressif/tools/xtensa-esp32s3-elf/esp-2021r2-8.4.0/xtensa-esp32s3-elf/bin:/Users/shenxiao/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin:/Users/shenxiao/.espressif/tools/esp32ulp-elf/2.28.51-esp-20191205/esp32ulp-elf-binutils/bin:/Users/shenxiao/.espressif/tools/esp32s2ulp-elf/2.28.51-esp-20191205/esp32s2ulp-elf-binutils/bin:/Users/shenxiao/.espressif/tools/openocd-esp32/v0.10.0-esp32-20211111/openocd-esp32/bin:/Users/shenxiao/.espressif/python_env/idf5.0_py3.9_env/bin:/Users/shenxiao/esp/esp-idf/tools:/Users/shenxiao/.cargo/bin:~/go/bin:/usr/local/go/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/Users/shenxiao/go/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/var/bin GOPROXY=https://goproxy.io,direct PIP_USER=no __CFBundleIdentifier=com.apple.Terminal PWD=/Users/shenxiao/esp/rust-esp32-example-main IDF_PYTHON_ENV_PATH=/Users/shenxiao/.espressif/python_env/idf5.0_py3.9_env LANG=zh_CN.UTF-8 IDF_TOOLS_EXPORT_CMD=/Users/shenxiao/esp/esp-idf/export.sh XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 HOME=/Users/shenxiao SHLVL=1 GOROOT=/usr/local/go OPENOCD_SCRIPTS=/Users/shenxiao/.espressif/tools/openocd-esp32/v0.10.0-esp32-20211111/openocd-esp32/share/openocd/scripts IDFPATH=/Users/shenxiao/esp/esp-idf LOGNAME=shenxiao =/usr/bin/env

MabezDev commented 2 years ago

Hi @alex915shen, what custom compiler version are you running?

We recently fixed a sigabort issue for x86 macos in 1.57.0.x, perhaps try the latest compiler from https://github.com/esp-rs/rust-build and see if that fixes the issue.

alex915shen commented 2 years ago

Thank!