esp-rs / embuild

Build support for embedded Rust: Cargo integration with other embedded build ecosystems & tools, like PlatformIO, CMake and kconfig.
Apache License 2.0
135 stars 38 forks source link

Build script failure when building esp-idf-sys as dependency of previously working project #40

Closed elidupree closed 2 years ago

elidupree commented 2 years ago

I have a project based on rust-esp32-std-demo that I've been successfully building for my ESP32 in the past, but today, when I said cargo build, it decided to recompile esp-idf-sys and the esp-idf-sys build failed, without me changing anything except for my own code. (I also get the same (similar?) error after switching to the latest esp-idf-sys version.)

I don't know how to tell if this is an esp-idf-sys issue, or an embuild issue, or something else, so I'm reporting it in both places; feel free to close this if it's in the wrong place.

I'm on Debian, and I installed esp-rs using rust-build as of Jan 11 (rust-build commit 6b71e690c35778c7c62ba5a229542cdfae01d6c4).

Console output:

/n/autobuild/eliduprees-emg-mouse/build/emg-server$ cargo build
   Compiling bindgen v0.59.2
   Compiling embuild v0.27.2
   Compiling esp-idf-sys v0.29.1
   Compiling esp-idf-hal v0.32.2
   Compiling esp-idf-svc v0.36.1
   Compiling emg-server v0.1.0 (/n/autobuild/eliduprees-emg-mouse/build/emg-server)
error: failed to run custom build command for `esp-idf-sys v0.29.1`

Caused by:
  process didn't exit successfully: `/n/autobuild/eliduprees-emg-mouse/build/emg-server/target/debug/build/esp-idf-sys-dce598b034e4c44c/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS
  cargo:rerun-if-env-changed=MCU
  Found compatible PlatformIO Core 5.2.4 -> /n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/penv/bin/platformio
  cargo:rerun-if-changed=./patches/missing_xtensa_atomics_fix.diff
  cargo:rerun-if-changed=./patches/ping_setsockopt_fix.diff
  cargo:rerun-if-changed=./patches/pthread_destructor_fix.diff
  cargo:rerun-if-changed=./patches/missing_riscv_atomics_fix.diff
  Warning! Ignore unknown configuration option `patches` in section [env]
  Processing debug (board: esp32cam; platform: espressif32; framework: espidf)
  --------------------------------------------------------------------------------
  Verbose mode can be enabled via `-v, --verbose` option
  CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
  PLATFORM: Espressif 32 (3.4.0) > AI Thinker ESP32-CAM
  HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
  DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
  PACKAGES: 
   - framework-espidf 3.40301.0 (4.3.1) 
   - tool-cmake 3.16.4 
   - tool-esptoolpy 1.30100.210531 (3.1.0) 
   - tool-ninja 1.7.1 
   - toolchain-esp32ulp 1.22851.191205 (2.28.51) 
   - toolchain-riscv32-esp 8.4.0+2021r1 
   - toolchain-xtensa-esp32 8.4.0+2021r1 
   - toolchain-xtensa-esp32s2 8.4.0+2021r1
  Reading CMake configuration...
  LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
  LDF Modes: Finder ~ chain, Compatibility ~ soft
  Found 0 compatible libraries
  Scanning dependencies...
  No dependencies
  Building in debug mode
  Retrieving maximum program size .pio/build/debug/firmware.elf
  Checking size .pio/build/debug/firmware.elf
  Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
  RAM:   [          ]   3.9% (used 12896 bytes from 327680 bytes)
  Flash: [==        ]  15.7% (used 164497 bytes from 1048576 bytes)
  ========================= [SUCCESS] Took 12.18 seconds =========================

  Environment    Status    Duration
  -------------  --------  ------------
  debug          SUCCESS   00:00:12.181
  ========================= 1 succeeded in 00:00:12.181 =========================

  ********************************************************************************
  There are the new updates for platforms (espressif32)
  Please update them via `platformio platform update` command.

  If you want to manually check for the new versions without updating, please use `platformio platform update --dry-run` command.
  ********************************************************************************

  cargo:rerun-if-changed=/n/HOME/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-sys-0.29.1/src/include/esp-idf/bindings.h

  --- stderr
  Output: "/n/autobuild/eliduprees-emg-mouse/build/emg-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-94df6151a6a52853/out/bindings.rs"
  Bindgen builder flags: ["/n/HOME/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-sys-0.29.1/src/include/esp-idf/bindings.h", "--rust-target", "1.47", "--blocklist-function", "strtold", "--blocklist-function", "_strtold_r", "--blocklist-function", "v.*printf", "--blocklist-function", "v.*scanf", "--blocklist-function", "_v.*printf_r", "--blocklist-function", "_v.*scanf_r", "--blocklist-function", "esp_log_writev", "--no-layout-tests", "--with-derive-default", "--ctypes-prefix", "c_types", "--generate", "functions,types,vars,methods,constructors,destructors", "--use-core", "--no-rustfmt-bindings", "--", "-D__bindgen", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_pm/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-94df6151a6a52853/out/esp-idf/.pio/build/debug/config", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/newlib/platform_include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/freertos/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/freertos/port/xtensa/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_hw_support/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_hw_support/port/esp32/.", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/heap/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/log/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/lwip/include/apps", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/lwip/include/apps/sntp", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/lwip/lwip/src/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/lwip/port/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/lwip/port/esp32/include/arch", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/soc/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/soc/esp32/.", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/soc/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/hal/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/hal/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_rom/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_rom/esp32", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_rom/include/esp32", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_common/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_system/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/driver/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/driver/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_ringbuf/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/efuse/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/efuse/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/xtensa/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/xtensa/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/espcoredump/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_timer/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_ipc/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/vfs/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_wifi/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_wifi/esp32/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_event/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_netif/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_eth/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/tcpip_adapter/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/app_trace/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/mbedtls/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/mbedtls/mbedtls/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/mbedtls/esp_crt_bundle/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/app_update/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/spi_flash/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/bootloader_support/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/nvs_flash/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/pthread/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_gdbstub/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_gdbstub/xtensa", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_gdbstub/esp32", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/wpa_supplicant/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/wpa_supplicant/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/wpa_supplicant/include/esp_supplicant", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/perfmon/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/asio/asio/asio/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/asio/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/cbor/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/unity/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/unity/unity/src", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/cmock/CMock/src", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/coap/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/coap/port/include/coap", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/coap/libcoap/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/coap/libcoap/include/coap2", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/console", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/nghttp/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/nghttp/nghttp2/lib/includes", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp-tls", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp-tls/esp-tls-crypto", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_adc_cal/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_hid/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/tcp_transport/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_http_client/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_http_server/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_https_ota/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/protobuf-c/protobuf-c", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/protocomm/include/common", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/protocomm/include/security", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/protocomm/include/transports", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/mdns/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_local_ctrl/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/sdmmc/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_serial_slave_link/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/esp_websocket_client/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/expat/expat/expat/lib", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/expat/port/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/wear_levelling/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/fatfs/diskio", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/fatfs/vfs", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/fatfs/src", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/freemodbus/common/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/idf_test/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/idf_test/include/esp32", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/jsmn/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/json/cJSON", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/libsodium/libsodium/src/libsodium/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/libsodium/port_include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/mqtt/esp-mqtt/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/openssl/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/spiffs/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/ulp/include", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/framework-espidf/components/wifi_provisioning/include", "-DESP_IDF_COMP_PTHREAD_ENABLED", "-DESP_IDF_COMP_NVS_FLASH_ENABLED", "-DESP_IDF_COMP_ESP_TLS_ENABLED", "-DESP_IDF_COMP_ESP_HTTP_CLIENT_ENABLED", "-DESP_IDF_COMP_ESP_HTTP_SERVER_ENABLED", "-DESP_IDF_COMP_ESPCOREDUMP_ENABLED", "-DESP_IDF_COMP_APP_UPDATE_ENABLED", "-DESP_IDF_COMP_ESP_SERIAL_SLAVE_LINK_ENABLED", "-DESP_IDF_COMP_SPI_FLASH_ENABLED", "-DESP_IDF_COMP_ESP_ADC_CAL_ENABLED", "-DESP_IDF_COMP_MQTT_ENABLED", "--sysroot=/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/toolchain-xtensa-esp32/bin/../xtensa-esp32-elf", "-I/n/autobuild/eliduprees-emg-mouse/build/emg-server/.embuild/platformio/packages/toolchain-xtensa-esp32/bin/../xtensa-esp32-elf/include", "-x", "c", "-DESP_IDF_COMP_PTHREAD_ENABLED", "-DESP_IDF_COMP_NVS_FLASH_ENABLED", "-DESP_IDF_COMP_ESP_TLS_ENABLED", "-DESP_IDF_COMP_ESP_HTTP_CLIENT_ENABLED", "-DESP_IDF_COMP_ESP_HTTP_SERVER_ENABLED", "-DESP_IDF_COMP_ESPCOREDUMP_ENABLED", "-DESP_IDF_COMP_APP_UPDATE_ENABLED", "-DESP_IDF_COMP_ESP_SERIAL_SLAVE_LINK_ENABLED", "-DESP_IDF_COMP_SPI_FLASH_ENABLED", "-DESP_IDF_COMP_ESP_ADC_CAL_ENABLED", "-DESP_IDF_COMP_MQTT_ENABLED", "-target", "xtensa"]
  thread 'main' panicked at 'libclang error; possible causes include:
  - Invalid flag syntax
  - Unrecognized flags
  - Invalid flag arguments
  - File I/O errors
  - Host vs. target architecture mismatch
  If you encounter an error missing from this list, please file an issue or a PR!', /n/HOME/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.59.2/src/ir/context.rs:538:15
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
ivmarkov commented 2 years ago

You are not using the Xtensa clang.