esp-rs / esp-idf-template

A "Hello, world!" template of a Rust binary crate for the ESP-IDF framework.
417 stars 50 forks source link

building template fails. #57

Closed nahla-nee closed 2 years ago

nahla-nee commented 2 years ago

Currently building the template fails for me with the error log below. For the sake of making sure I didn't do something truly horrible I tried building the other non-std template (https://github.com/esp-rs/esp-template) and that one builds just fine with no problems. Any idea what's going on here?

[zee@zeeLT engr290-server]$ cargo build
   Compiling esp-idf-sys v0.31.9
error: failed to run custom build command for `esp-idf-sys v0.31.9`

Caused by:
  process didn't exit successfully: `/home/zee/projects/engr290/engr290-server/target/debug/build/esp-idf-sys-9674ad052d4ec0a9/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
  cargo:rerun-if-env-changed=ESP_IDF_SYS_ROOT_CRATE
  cargo:rerun-if-env-changed=ESP_IDF_VERSION
  cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY
  cargo:rerun-if-env-changed=ESP_IDF_CMAKE_GENERATOR
  cargo:rerun-if-env-changed=IDF_PATH
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  IDF_PYTHON_ENV_PATH=/home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env
  PATH=/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch4-8.4.0/xtensa-esp32-elf/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/cmake/3.23.1/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/tools:$PATH
  Current system platform: linux-amd64
  Skipping xtensa-esp32-elf@esp-2021r2-patch4-8.4.0 (already installed)
  Skipping cmake@3.23.1 (already installed)
  Skipping ninja@1.10.2 (already installed)
  Skipping esp32ulp-elf@2.35_20220830 (already installed)
  IDF_PYTHON_ENV_PATH=/home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env
  PATH=/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/xtensa-esp32-elf/esp-2021r2-patch4-8.4.0/xtensa-esp32-elf/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/tools/cmake/3.23.1/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env/bin:/home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/tools:$PATH
  cargo:rerun-if-changed=/home/zee/projects/engr290/engr290-server/sdkconfig.defaults
  CMAKE_PREFIX_PATH_xtensa-esp32-espidf = None
  CMAKE_PREFIX_PATH_xtensa_esp32_espidf = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_xtensa-esp32-espidf = None
  CMAKE_xtensa_esp32_espidf = None
  TARGET_CMAKE = None
  CMAKE = None
  running: "cmake" "/home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out" "-G" "Ninja" "-DCMAKE_TOOLCHAIN_FILE=/home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/tools/cmake/toolchain-esp32.cmake" "-DCMAKE_BUILD_TYPE=" "-DPYTHON=/home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env/bin/python" "-DCMAKE_INSTALL_PREFIX=/home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out" "-DCMAKE_C_FLAGS= -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections" "-DCMAKE_CXX_FLAGS= -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections" "-DCMAKE_ASM_FLAGS= -mlongcalls -ffunction-sections -fdata-sections"
  -- Checking Python dependencies...
  Python requirements from /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/requirements.txt are satisfied.
  -- Project sdkconfig file /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/sdkconfig
  Loading defaults file /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/gen-sdkconfig.defaults...
  Loading defaults file /home/zee/projects/engr290/engr290-server/sdkconfig.defaults...
  -- App "libespidf" version: 1
  -- Adding linker script /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/esp-idf/esp_system/ld/memory.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_system/ld/esp32/sections.ld.in
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.api.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/soc/esp32/ld/esp32.peripherals.ld
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build
  running: "cmake" "--build" "." "--config" "MinSizeRel" "--parallel" "8"
  [1/7] Generating ld/sections.ld
  [2/7] Performing build step for 'bootloader'
  [0/1] Re-running CMake...
  -- Building ESP-IDF components for target esp32
  -- Project sdkconfig file /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/sdkconfig
  Loading defaults file /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/gen-sdkconfig.defaults...
  Loading defaults file /home/zee/projects/engr290/engr290-server/sdkconfig.defaults...
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/soc/esp32/ld/esp32.peripherals.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.api.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader/subproject/main/ld/esp32/bootloader.ld
  -- Adding linker script /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
  -- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
  -- Component paths: /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader_support /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/efuse /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp32 /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_common /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_hw_support /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_rom /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esp_system /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/esptool_py /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/freertos /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/hal /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/log /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader/subproject/main /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/bootloader/subproject/components/micro-ecc /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/newlib /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/partition_table /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/soc /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/spi_flash /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/xtensa
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/bootloader
  [1/1] cd /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/bootloader/esp-idf/esptool_py && /home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env/bin/python /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/bootloader/bootloader.bin
  Bootloader binary size 0x6330 bytes. 0xcd0 bytes (11%) free.
  [3/5] Linking C executable libespidf.elf
  [4/5] Generating binary image from built executable
  esptool.py v3.3.2-dev
  Creating esp32 image...
  Merged 2 ELF sections
  Successfully created esp32 image.
  Generated /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/libespidf.bin
  [5/5] cd /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/esp-idf/esptool_py && /home/zee/projects/engr290/engr290-server/.embuild/espressif/python_env/idf4.4_py3.10_env/bin/python /home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4/components/partition_table/check_sizes.py --offset 0x8000 partition --type app /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/partition_table/partition-table.bin /home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/build/libespidf.bin
  libespidf.bin binary size 0x26a50 bytes. Smallest app partition is 0x100000 bytes. 0xd95b0 bytes (85%) free.
  cargo:root=/home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out
  cargo:rerun-if-changed=/home/zee/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-sys-0.31.9/src/include/esp-idf/bindings.h
  cargo:rustc-env=EMBUILD_GENERATED_BINDINGS_FILE=/home/zee/projects/engr290/engr290-server/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-734234081bd281a0/out/bindings.rs

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: None,
      esp_idf_sdkconfig: None,
      esp_idf_sdkconfig_defaults: None,
      mcu: None,
      native: NativeConfig {
          esp_idf_version: Some(
              Branch(
                  "release/v4.4",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [],
          esp_idf_components: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: EspIdfRemote { repo_url: None, git_ref: Branch("release/v4.4") }
  fatal: No names found, cannot describe anything.
  Using esp-idf v4.4.2 at '/home/zee/projects/engr290/engr290-server/.embuild/espressif/esp-idf/release-v4.4'
  fatal: No names found, cannot describe anything.
  Built components: esp_ringbuf, efuse, esp_ipc, driver, esp_pm, mbedtls, bootloader, esptool_py, partition_table, app_update, bootloader_support, spi_flash, nvs_flash, pthread, esp_gdbstub, espcoredump, esp_phy, esp_system, esp_rom, hal, vfs, esp_eth, tcpip_adapter, esp_netif, esp_event, wpa_supplicant, esp_wifi, ieee802154, console, openthread, lwip, log, heap, soc, esp_hw_support, xtensa, esp32, esp_common, esp_timer, freertos, newlib, cxx, app_trace, asio, bt, cbor, unity, cmock, coap, nghttp, esp-tls, esp_adc_cal, esp_hid, tcp_transport, esp_http_client, esp_http_server, esp_https_ota, esp_https_server, esp_lcd, protobuf-c, protocomm, mdns, esp_local_ctrl, sdmmc, esp_serial_slave_link, esp_websocket_client, expat, wear_levelling, fatfs, freemodbus, idf_test, jsmn, json, libsodium, mqtt, openssl, perfmon, spiffs, usb, tinyusb, ulp, wifi_provisioning
  error: unknown target triple 'xtensa', please use -triple or -arch
  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!', /home/zee/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.60.1/src/ir/context.rs:529:15
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
nahla-nee commented 2 years ago

aaaaaand nevermind, apparently I forgot to follow some of the instructions in the guide (adding target and adding env vars to end of bashrc). Figures that I solve it after hours soon as I post something. Sorry for the useless issue!