esp-rs / esp-idf-sys

Bindings for ESP-IDF (Espressif's IoT Development Framework)
Apache License 2.0
264 stars 120 forks source link

Unable to build with tinyusb idf components #231

Closed lynaghk closed 11 months ago

lynaghk commented 1 year ago

I'm trying to use the tinyUSB stack as per this Espressif documentation but the compile fails (full message enclosed below).

I downloaded the component source files (e.g., tinyusb) and placed them in my repo (e.g., vendor/espressif_tinyusb_0.15.0_2).

Here's the relevant section of my Cargo.toml

[dependencies]
esp-idf-sys = { version = "0.33.1", features = ["binstart"] }
esp-idf-hal = "0.41"
esp-idf-svc = "0.46"
embedded-svc = "0.25"
embedded-hal = "=1.0.0-alpha.10"
embedded-hal-nb = "=1.0.0-alpha.2"
nb = "1"
log = "0.4"
anyhow = {version = "1", features = ["backtrace"]}

[build-dependencies]
anyhow = "1"
embuild = "0.31"

[package.metadata.esp-idf-sys]
esp_idf_tools_install_dir = "global"
esp_idf_sdkconfig = "sdkconfig"
esp_idf_sdkconfig_defaults = ["sdkconfig.defaults"]
esp_idf_version = "v5.1"

# https://github.com/esp-rs/esp-idf-sys/issues/132
esp_idf_components = ["espressif_tinyusb_0.15.0_2", "espressif_esp_tinyusb_1.3.1"]

# Add extra ESP32 components https://github.com/esp-rs/esp-idf-sys/pull/114#issuecomment-1207168854
[[package.metadata.esp-idf-sys.extra_components]]
component_dirs = ["vendor"]

On a v4.4 IDF project I used this method to compile some other components, so I'm not sure if something changed in v5.1 / esp-idf-sys version or if it's just the tinyusb components themselves that require additional setup.

Here's the compile error message. Thanks for the help!

   Compiling esp-idf-sys v0.33.1
error: failed to run custom build command for `esp-idf-sys v0.33.1`

Caused by:
  process didn't exit successfully: `/Users/dev/work/incubator/esp-scratch/target/debug/build/esp-idf-sys-913a0727ec4b928e/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=EXTRA-COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmpe2p8pv55idf_62853
  Current system platform: macos-arm64
  Skipping xtensa-esp32s3-elf@esp-12.2.0_20230208 (already installed)
  Skipping cmake@3.24.0 (already installed)
  Skipping ninja@1.10.2 (already installed)
  Skipping esp32ulp-elf@2.35_20220830 (already installed)
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmp25m0rr5xidf_62853
  cargo:rerun-if-changed=/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults
  CMAKE_PREFIX_PATH_xtensa-esp32s3-espidf = None
  CMAKE_PREFIX_PATH_xtensa_esp32s3_espidf = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_xtensa-esp32s3-espidf = None
  CMAKE_xtensa_esp32s3_espidf = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/build" && CMAKE_PREFIX_PATH="" ESP_IDF_COMPONENTS="espressif_tinyusb_0.15.0_2;espressif_esp_tinyusb_1.3.1" EXTRA_COMPONENT_DIRS="/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2;/Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1" IDF_PATH="/Users/dev/.espressif/esp-idf/v5.1" IDF_TARGET="esp32s3" IDF_TOOLS_PATH="/Users/dev/.espressif" PATH="/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:/Users/dev/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:/Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:/Users/dev/miniforge3/condabin:/Users/dev/.cargo/bin:/Users/dev/.rbenv/shims:/Users/dev/.jenv/shims:/Users/dev/.yarn/bin:/Users/dev/node_modules/.bin:/usr/local/share/npm/bin:/Users/dev/.rbenv/bin:/opt/local/libexec/llvm-15/bin:/Library/TeX/texbin:/Applications/MiniZincIDE.app/Contents/Resources:/opt/local/bin:/opt/local/sbin:/Applications/Racket v8.7/bin:/Applications/Julia-1.6.app/Contents/Resources/julia/bin/:/Users/dev/software/wabt/bin:/Users/dev/software/zig/build/bin:/Users/dev/bin:/Users/dev/.dotfiles/bin:/usr/local/bin:/sbin:/Users/dev/Library/Python/3.9/bin:/Users/dev/.dotfiles/scripts/sandboxtron/bin:/Users/dev/work/relational-ai/kevin-rai/cli:/Library/Java/JavaVirtualMachines/openjdk16-graalvm/Contents/Home//bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Little Snitch.app/Contents/Components:/Library/Apple/usr/bin:/Users/dev/.cargo/bin" SDKCONFIG_DEFAULTS="/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/gen-sdkconfig.defaults;/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults" "cmake" "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out" "-G" "Ninja" "-DCMAKE_TOOLCHAIN_FILE=/Users/dev/.espressif/esp-idf/v5.1/tools/cmake/toolchain-esp32s3.cmake" "-DCMAKE_BUILD_TYPE=" "-DPYTHON=/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python" "-DCMAKE_INSTALL_PREFIX=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out" "-DCMAKE_C_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_CXX_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_ASM_FLAGS= -mlongcalls -ffunction-sections -fdata-sections"
  -- Checking Python dependencies...
  Python requirements are satisfied.
  Constraint file: /Users/dev/.espressif/espidf.constraints.v5.1.txt
  Requirement files:
   - /Users/dev/.espressif/esp-idf/v5.1/tools/requirements/requirements.core.txt
  Python being checked: /Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python
  -- Project sdkconfig file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/sdkconfig
  Loading defaults file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/gen-sdkconfig.defaults...
  Loading defaults file /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults...
  /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults:9 CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 was replaced with CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240
  -- App "libespidf" version: 1
  -- Adding linker script /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/build/esp-idf/esp_system/ld/memory.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_system/ld/esp32s3/sections.ld.in
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld
  -- Configuring incomplete, errors occurred!
  See also "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-d8bb233bff752727/out/build/CMakeFiles/CMakeOutput.log".

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: Some(
          Global,
      ),
      esp_idf_sdkconfig: Some(
          "sdkconfig",
      ),
      esp_idf_sdkconfig_defaults: Some(
          [
              "sdkconfig.defaults",
          ],
      ),
      mcu: None,
      native: NativeConfig {
          esp_idf_version: Some(
              Tag(
                  "v5.1",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [
              ExtraComponent {
                  component_dirs: [
                      "vendor",
                  ],
                  bindings_header: None,
                  bindings_module: None,
                  manifest_dir: "/Users/dev/work/incubator/esp-scratch",
              },
          ],
          esp_idf_components: Some(
              [
                  "espressif_tinyusb_0.15.0_2",
                  "espressif_esp_tinyusb_1.3.1",
              ],
          ),
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v5.1") }
  Using esp-idf v5.1.0 at '/Users/dev/.espressif/esp-idf/v5.1'
  /Users/dev/.espressif/esp-idf/v5.1/tools/check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources
  CMake Warning at /Users/dev/.espressif/esp-idf/v5.1/tools/cmake/build.cmake:565 (message):
    "idf_component.yml" file was found for components:

        /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2

        /Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1

    However, the component manager is not enabled.
  Call Stack (most recent call first):
    CMakeLists.txt:14 (idf_build_process)

  Compiler supported targets: xtensa-esp32s3-elf

  CMake Error at /Users/dev/.espressif/esp-idf/v5.1/tools/cmake/component.cmake:381 (__component_get_property):
    __component_get_property Function invoked with incorrect arguments for
    function named: __component_get_property
  Call Stack (most recent call first):
    /Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1/CMakeLists.txt:66 (idf_component_get_property)

  CMake Error at /Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1/CMakeLists.txt:68 (target_include_directories):
    Cannot specify include directories for target
    "CONFIG_SOC_MPU_MIN_REGION_SIZE" which is not built by this project.

  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 1

  build script failed, must exit now', /Users/dev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
lynaghk commented 1 year ago

Closest prior art I've found is this project which seems to have skipped using the official tinyusb components and instead pulling in some application-specific C code which uses tinyusb as an "extra component".

N3xed commented 1 year ago

It's probably the issue of the idf component manager being turned off at the moment, #222 fixes this. Try to patch esp-idf-sys with the branch of #222 and see if this fixes the issue.

lynaghk commented 1 year ago

Thanks @N3xed. I added to my Cargo.toml:

[patch.crates-io]
esp-idf-sys = { git = "https://github.com/esp-rs/esp-idf-sys/", branch = "feature/remote-components" }

and this seems to have pulled in your code, as now I get new failures =D

With just

esp_idf_components = ["espressif_esp_tinyusb_1.3.1"]

I get the following error:

   Compiling esp-idf-sys v0.33.1 (https://github.com/esp-rs/esp-idf-sys/?branch=feature/remote-components#e367e073)
error: failed to run custom build command for `esp-idf-sys v0.33.1 (https://github.com/esp-rs/esp-idf-sys/?branch=feature/remote-components#e367e073)`

Caused by:
  process didn't exit successfully: `/Users/dev/work/incubator/esp-scratch/target/debug/build/esp-idf-sys-fb94cb0926d9e330/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=EXTRA-COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENT_MANAGER
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmpbq0ge2dwidf_8563
  Current system platform: macos-arm64
  Skipping xtensa-esp32s3-elf@esp-12.2.0_20230208 (already installed)
  Skipping cmake@3.24.0 (already installed)
  Skipping ninja@1.10.2 (already installed)
  Skipping esp32ulp-elf@2.35_20220830 (already installed)
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmp_ktkurmnidf_8563
  cargo:rerun-if-changed=/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults
  CMAKE_PREFIX_PATH_xtensa-esp32s3-espidf = None
  CMAKE_PREFIX_PATH_xtensa_esp32s3_espidf = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_xtensa-esp32s3-espidf = None
  CMAKE_xtensa_esp32s3_espidf = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build" && CMAKE_PREFIX_PATH="" ESP_IDF_COMPONENTS="espressif_esp_tinyusb_1.3.1" EXTRA_COMPONENT_DIRS="/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2;/Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1" IDF_COMPONENT_MANAGER="1" IDF_PATH="/Users/dev/.espressif/esp-idf/v5.1" IDF_TARGET="esp32s3" IDF_TOOLS_PATH="/Users/dev/.espressif" PATH="/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:/Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:/Users/dev/miniforge3/condabin:/Users/dev/.cargo/bin:/Users/dev/.rbenv/shims:/Users/dev/.jenv/shims:/Users/dev/.yarn/bin:/Users/dev/node_modules/.bin:/usr/local/share/npm/bin:/Users/dev/.rbenv/bin:/opt/local/libexec/llvm-15/bin:/Library/TeX/texbin:/Applications/MiniZincIDE.app/Contents/Resources:/opt/local/bin:/opt/local/sbin:/Applications/Racket v8.7/bin:/Applications/Julia-1.6.app/Contents/Resources/julia/bin/:/Users/dev/software/wabt/bin:/Users/dev/software/zig/build/bin:/Users/dev/bin:/Users/dev/.dotfiles/bin:/usr/local/bin:/sbin:/Users/dev/Library/Python/3.9/bin:/Users/dev/.dotfiles/scripts/sandboxtron/bin:/Users/dev/work/relational-ai/kevin-rai/cli:/Library/Java/JavaVirtualMachines/openjdk16-graalvm/Contents/Home//bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Little Snitch.app/Contents/Components:/Library/Apple/usr/bin:/Users/dev/.cargo/bin" PROJECT_DIR="/Users/dev/work/incubator/esp-scratch" SDKCONFIG_DEFAULTS="/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults;/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults" "cmake" "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out" "-G" "Ninja" "-DCMAKE_TOOLCHAIN_FILE=/Users/dev/.espressif/esp-idf/v5.1/tools/cmake/toolchain-esp32s3.cmake" "-DCMAKE_BUILD_TYPE=" "-DPYTHON=/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python" "-DCMAKE_INSTALL_PREFIX=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out" "-DCMAKE_C_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_CXX_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_ASM_FLAGS= -mlongcalls -ffunction-sections -fdata-sections"
  -- Building ESP-IDF components for target esp32s3
  -- Checking Python dependencies...
  Python requirements are satisfied.
  Constraint file: /Users/dev/.espressif/espidf.constraints.v5.1.txt
  Requirement files:
   - /Users/dev/.espressif/esp-idf/v5.1/tools/requirements/requirements.core.txt
  Python being checked: /Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python
  Processing 2 dependencies:
  [1/2] espressif/tinyusb (0.15.0~2)
  [2/2] idf (5.1.0)
  -- Project sdkconfig file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/sdkconfig
  Loading defaults file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults...
  Loading defaults file /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults...
  /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults:9 CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 was replaced with CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240
  -- App "libespidf" version: 6a91b09-dirty
  -- Adding linker script /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/esp-idf/esp_system/ld/memory.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_system/ld/esp32s3/sections.ld.in
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld
  -- Components: app_update bootloader bootloader_support cxx driver efuse esp_app_format esp_common esp_event esp_hw_support esp_mm esp_netif esp_netif_stack esp_partition esp_pm esp_ringbuf esp_rom esp_system esp_timer espressif__tinyusb espressif_esp_tinyusb_1.3.1 esptool_py fatfs freertos hal heap log lwip mbedtls newlib partition_table pthread sdmmc soc spi_flash usb vfs wear_levelling xtensa
  -- Component paths: /Users/dev/.espressif/esp-idf/v5.1/components/app_update /Users/dev/.espressif/esp-idf/v5.1/components/bootloader /Users/dev/.espressif/esp-idf/v5.1/components/bootloader_support /Users/dev/.espressif/esp-idf/v5.1/components/cxx /Users/dev/.espressif/esp-idf/v5.1/components/driver /Users/dev/.espressif/esp-idf/v5.1/components/efuse /Users/dev/.espressif/esp-idf/v5.1/components/esp_app_format /Users/dev/.espressif/esp-idf/v5.1/components/esp_common /Users/dev/.espressif/esp-idf/v5.1/components/esp_event /Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support /Users/dev/.espressif/esp-idf/v5.1/components/esp_mm /Users/dev/.espressif/esp-idf/v5.1/components/esp_netif /Users/dev/.espressif/esp-idf/v5.1/components/esp_netif_stack /Users/dev/.espressif/esp-idf/v5.1/components/esp_partition /Users/dev/.espressif/esp-idf/v5.1/components/esp_pm /Users/dev/.espressif/esp-idf/v5.1/components/esp_ringbuf /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom /Users/dev/.espressif/esp-idf/v5.1/components/esp_system /Users/dev/.espressif/esp-idf/v5.1/components/esp_timer /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/managed_components/espressif__tinyusb /Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1 /Users/dev/.espressif/esp-idf/v5.1/components/esptool_py /Users/dev/.espressif/esp-idf/v5.1/components/fatfs /Users/dev/.espressif/esp-idf/v5.1/components/freertos /Users/dev/.espressif/esp-idf/v5.1/components/hal /Users/dev/.espressif/esp-idf/v5.1/components/heap /Users/dev/.espressif/esp-idf/v5.1/components/log /Users/dev/.espressif/esp-idf/v5.1/components/lwip /Users/dev/.espressif/esp-idf/v5.1/components/mbedtls /Users/dev/.espressif/esp-idf/v5.1/components/newlib /Users/dev/.espressif/esp-idf/v5.1/components/partition_table /Users/dev/.espressif/esp-idf/v5.1/components/pthread /Users/dev/.espressif/esp-idf/v5.1/components/sdmmc /Users/dev/.espressif/esp-idf/v5.1/components/soc /Users/dev/.espressif/esp-idf/v5.1/components/spi_flash /Users/dev/.espressif/esp-idf/v5.1/components/usb /Users/dev/.espressif/esp-idf/v5.1/components/vfs /Users/dev/.espressif/esp-idf/v5.1/components/wear_levelling /Users/dev/.espressif/esp-idf/v5.1/components/xtensa
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build
  running: cd "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build" && ESP_IDF_COMPONENTS="espressif_esp_tinyusb_1.3.1" EXTRA_COMPONENT_DIRS="/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2;/Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1" IDF_COMPONENT_MANAGER="1" IDF_PATH="/Users/dev/.espressif/esp-idf/v5.1" IDF_TARGET="esp32s3" IDF_TOOLS_PATH="/Users/dev/.espressif" PATH="/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:/Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:/Users/dev/miniforge3/condabin:/Users/dev/.cargo/bin:/Users/dev/.rbenv/shims:/Users/dev/.jenv/shims:/Users/dev/.yarn/bin:/Users/dev/node_modules/.bin:/usr/local/share/npm/bin:/Users/dev/.rbenv/bin:/opt/local/libexec/llvm-15/bin:/Library/TeX/texbin:/Applications/MiniZincIDE.app/Contents/Resources:/opt/local/bin:/opt/local/sbin:/Applications/Racket v8.7/bin:/Applications/Julia-1.6.app/Contents/Resources/julia/bin/:/Users/dev/software/wabt/bin:/Users/dev/software/zig/build/bin:/Users/dev/bin:/Users/dev/.dotfiles/bin:/usr/local/bin:/sbin:/Users/dev/Library/Python/3.9/bin:/Users/dev/.dotfiles/scripts/sandboxtron/bin:/Users/dev/work/relational-ai/kevin-rai/cli:/Library/Java/JavaVirtualMachines/openjdk16-graalvm/Contents/Home//bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Little Snitch.app/Contents/Components:/Library/Apple/usr/bin:/Users/dev/.cargo/bin" PROJECT_DIR="/Users/dev/work/incubator/esp-scratch" SDKCONFIG_DEFAULTS="/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults;/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults" "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 esp32s3
  -- Project sdkconfig file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/sdkconfig
  Compiler supported targets: xtensa-esp32s3-elf

  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld
  -- App "bootloader" version: v5.1
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld
  -- Components: bootloader bootloader_support efuse esp_app_format 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: /Users/dev/.espressif/esp-idf/v5.1/components/bootloader /Users/dev/.espressif/esp-idf/v5.1/components/bootloader_support /Users/dev/.espressif/esp-idf/v5.1/components/efuse /Users/dev/.espressif/esp-idf/v5.1/components/esp_app_format /Users/dev/.espressif/esp-idf/v5.1/components/esp_common /Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom /Users/dev/.espressif/esp-idf/v5.1/components/esp_system /Users/dev/.espressif/esp-idf/v5.1/components/esptool_py /Users/dev/.espressif/esp-idf/v5.1/components/freertos /Users/dev/.espressif/esp-idf/v5.1/components/hal /Users/dev/.espressif/esp-idf/v5.1/components/log /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/components/micro-ecc /Users/dev/.espressif/esp-idf/v5.1/components/newlib /Users/dev/.espressif/esp-idf/v5.1/components/partition_table /Users/dev/.espressif/esp-idf/v5.1/components/soc /Users/dev/.espressif/esp-idf/v5.1/components/spi_flash /Users/dev/.espressif/esp-idf/v5.1/components/xtensa
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader
  [1/1] cd /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader/esp-idf/esptool_py && /Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python /Users/dev/.espressif/esp-idf/v5.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader/bootloader.bin
  Bootloader binary size 0x51f0 bytes. 0x2e10 bytes (36%) free.
  [3/5] Linking CXX executable libespidf.elf
  FAILED: libespidf.elf 
  : && /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++ -mlongcalls  -ffunction-sections -fdata-sections -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32S3=0 -Wl,--Map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/libespidf.map -Wl,--no-warn-rwx-segments -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common -T esp32s3.peripherals.ld -T esp32s3.rom.ld -T esp32s3.rom.api.ld -T esp32s3.rom.libgcc.ld -T esp32s3.rom.newlib.ld -T esp32s3.rom.version.ld -T memory.ld -T sections.ld CMakeFiles/libespidf.elf.dir/project_elf_src_esp32s3.c.obj -o libespidf.elf -L/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld   -L/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld   -L/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/esp-idf/esp_system/ld esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_event/libesp_event.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/espressif__tinyusb/libespressif__tinyusb.a  esp-idf/usb/libusb.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/fatfs/libfatfs.a  esp-idf/espressif_esp_tinyusb_1.3.1/libespressif_esp_tinyusb_1.3.1.a  esp-idf/espressif__tinyusb/libespressif__tinyusb.a  esp-idf/usb/libusb.a  esp-idf/fatfs/libfatfs.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_event/libesp_event.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_event/libesp_event.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_event/libesp_event.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_app_format/libesp_app_format.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/esp_partition/libesp_partition.a  esp-idf/app_update/libapp_update.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_event/libesp_event.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/libxt_hal.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -u pthread_include_pthread_rwlock_impl  -u pthread_include_pthread_semaphore_impl  -u ld_include_highint_hdl  -u start_app  -u start_app_other_cores  -u __ubsan_include  -Wl,--wrap=longjmp  -u __assert_func  -Wl,--undefined=uxTopUsedPriority  -Wl,--undefined=FreeRTOS_openocd_params  -u app_main  -lc  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  -u vfs_include_syscalls_impl && :
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj):(.literal.main_task+0x24): undefined reference to `app_main'
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj): in function `main_task':
  /Users/dev/.espressif/esp-idf/v5.1/components/freertos/app_startup.c:206: undefined reference to `app_main'
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: Some(
          Global,
      ),
      esp_idf_sdkconfig: Some(
          "sdkconfig",
      ),
      esp_idf_sdkconfig_defaults: Some(
          [
              "sdkconfig.defaults",
          ],
      ),
      mcu: None,
      native: NativeConfig {
          esp_idf_version: Some(
              Tag(
                  "v5.1",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [
              ExtraComponent {
                  component_dirs: [
                      "vendor",
                  ],
                  remote_component: None,
                  bindings_header: None,
                  bindings_module: None,
                  manifest_dir: "/Users/dev/work/incubator/esp-scratch",
              },
          ],
          esp_idf_components: Some(
              [
                  "espressif_esp_tinyusb_1.3.1",
              ],
          ),
          esp_idf_component_manager: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v5.1") }
  Using esp-idf v5.1.0 at '/Users/dev/.espressif/esp-idf/v5.1'
  /Users/dev/.espressif/esp-idf/v5.1/tools/check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources
  Compiler supported targets: xtensa-esp32s3-elf

  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 1

  build script failed, must exit now', /Users/dev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

And with both:

esp_idf_components = ["espressif_tinyusb_0.15.0_2", "espressif_esp_tinyusb_1.3.1"]

I get

   Compiling esp-idf-sys v0.33.1 (https://github.com/esp-rs/esp-idf-sys/?branch=feature/remote-components#e367e073)
error: failed to run custom build command for `esp-idf-sys v0.33.1 (https://github.com/esp-rs/esp-idf-sys/?branch=feature/remote-components#e367e073)`

Caused by:
  process didn't exit successfully: `/Users/dev/work/incubator/esp-scratch/target/debug/build/esp-idf-sys-fb94cb0926d9e330/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=EXTRA-COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENT_MANAGER
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmpnotnio3bidf_10552
  Current system platform: macos-arm64
  Skipping xtensa-esp32s3-elf@esp-12.2.0_20230208 (already installed)
  Skipping cmake@3.24.0 (already installed)
  Skipping ninja@1.10.2 (already installed)
  Skipping esp32ulp-elf@2.35_20220830 (already installed)
  IDF_PYTHON_ENV_PATH=/Users/dev/.espressif/python_env/idf5.1_py3.8_env
  ESP_IDF_VERSION=5.1
  PATH=/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.espressif/esp-idf/v5.1/tools:$PATH
  IDF_DEACTIVATE_FILE_PATH=/var/folders/95/qw48nmb936d_dh4b3vnblqyc0000gn/T/tmpipvqdg67idf_10552
  cargo:rerun-if-changed=/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults
  CMAKE_PREFIX_PATH_xtensa-esp32s3-espidf = None
  CMAKE_PREFIX_PATH_xtensa_esp32s3_espidf = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_xtensa-esp32s3-espidf = None
  CMAKE_xtensa_esp32s3_espidf = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build" && CMAKE_PREFIX_PATH="" ESP_IDF_COMPONENTS="espressif_tinyusb_0.15.0_2;espressif_esp_tinyusb_1.3.1" EXTRA_COMPONENT_DIRS="/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2;/Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1" IDF_COMPONENT_MANAGER="1" IDF_PATH="/Users/dev/.espressif/esp-idf/v5.1" IDF_TARGET="esp32s3" IDF_TOOLS_PATH="/Users/dev/.espressif" PATH="/Users/dev/.espressif/esp-idf/v5.1/tools:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:/Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:/Users/dev/miniforge3/condabin:/Users/dev/.cargo/bin:/Users/dev/.rbenv/shims:/Users/dev/.jenv/shims:/Users/dev/.yarn/bin:/Users/dev/node_modules/.bin:/usr/local/share/npm/bin:/Users/dev/.rbenv/bin:/opt/local/libexec/llvm-15/bin:/Library/TeX/texbin:/Applications/MiniZincIDE.app/Contents/Resources:/opt/local/bin:/opt/local/sbin:/Applications/Racket v8.7/bin:/Applications/Julia-1.6.app/Contents/Resources/julia/bin/:/Users/dev/software/wabt/bin:/Users/dev/software/zig/build/bin:/Users/dev/bin:/Users/dev/.dotfiles/bin:/usr/local/bin:/sbin:/Users/dev/Library/Python/3.9/bin:/Users/dev/.dotfiles/scripts/sandboxtron/bin:/Users/dev/work/relational-ai/kevin-rai/cli:/Library/Java/JavaVirtualMachines/openjdk16-graalvm/Contents/Home//bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Little Snitch.app/Contents/Components:/Library/Apple/usr/bin:/Users/dev/.cargo/bin" PROJECT_DIR="/Users/dev/work/incubator/esp-scratch" SDKCONFIG_DEFAULTS="/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults;/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults" "cmake" "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out" "-G" "Ninja" "-DCMAKE_TOOLCHAIN_FILE=/Users/dev/.espressif/esp-idf/v5.1/tools/cmake/toolchain-esp32s3.cmake" "-DCMAKE_BUILD_TYPE=" "-DPYTHON=/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python" "-DCMAKE_INSTALL_PREFIX=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out" "-DCMAKE_C_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_CXX_FLAGS= -mlongcalls -ffunction-sections -fdata-sections" "-DCMAKE_ASM_FLAGS= -mlongcalls -ffunction-sections -fdata-sections"
  -- Building ESP-IDF components for target esp32s3
  -- Checking Python dependencies...
  Python requirements are satisfied.
  Constraint file: /Users/dev/.espressif/espidf.constraints.v5.1.txt
  Requirement files:
   - /Users/dev/.espressif/esp-idf/v5.1/tools/requirements/requirements.core.txt
  Python being checked: /Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python
  Processing 2 dependencies:
  [1/2] espressif/tinyusb (0.15.0~2)
  [2/2] idf (5.1.0)
  -- Project sdkconfig file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/sdkconfig
  Loading defaults file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults...
  Loading defaults file /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults...
  /Users/dev/work/incubator/esp-scratch/sdkconfig.defaults:9 CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 was replaced with CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240
  -- App "libespidf" version: 6a91b09-dirty
  -- Adding linker script /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/esp-idf/esp_system/ld/memory.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_system/ld/esp32s3/sections.ld.in
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld
  -- Components: app_update bootloader bootloader_support cxx driver efuse esp_app_format esp_common esp_event esp_hw_support esp_mm esp_netif esp_netif_stack esp_partition esp_pm esp_ringbuf esp_rom esp_system esp_timer espressif__tinyusb espressif_esp_tinyusb_1.3.1 espressif_tinyusb_0.15.0_2 esptool_py fatfs freertos hal heap log lwip mbedtls newlib partition_table pthread sdmmc soc spi_flash usb vfs wear_levelling xtensa
  -- Component paths: /Users/dev/.espressif/esp-idf/v5.1/components/app_update /Users/dev/.espressif/esp-idf/v5.1/components/bootloader /Users/dev/.espressif/esp-idf/v5.1/components/bootloader_support /Users/dev/.espressif/esp-idf/v5.1/components/cxx /Users/dev/.espressif/esp-idf/v5.1/components/driver /Users/dev/.espressif/esp-idf/v5.1/components/efuse /Users/dev/.espressif/esp-idf/v5.1/components/esp_app_format /Users/dev/.espressif/esp-idf/v5.1/components/esp_common /Users/dev/.espressif/esp-idf/v5.1/components/esp_event /Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support /Users/dev/.espressif/esp-idf/v5.1/components/esp_mm /Users/dev/.espressif/esp-idf/v5.1/components/esp_netif /Users/dev/.espressif/esp-idf/v5.1/components/esp_netif_stack /Users/dev/.espressif/esp-idf/v5.1/components/esp_partition /Users/dev/.espressif/esp-idf/v5.1/components/esp_pm /Users/dev/.espressif/esp-idf/v5.1/components/esp_ringbuf /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom /Users/dev/.espressif/esp-idf/v5.1/components/esp_system /Users/dev/.espressif/esp-idf/v5.1/components/esp_timer /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/managed_components/espressif__tinyusb /Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1 /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2 /Users/dev/.espressif/esp-idf/v5.1/components/esptool_py /Users/dev/.espressif/esp-idf/v5.1/components/fatfs /Users/dev/.espressif/esp-idf/v5.1/components/freertos /Users/dev/.espressif/esp-idf/v5.1/components/hal /Users/dev/.espressif/esp-idf/v5.1/components/heap /Users/dev/.espressif/esp-idf/v5.1/components/log /Users/dev/.espressif/esp-idf/v5.1/components/lwip /Users/dev/.espressif/esp-idf/v5.1/components/mbedtls /Users/dev/.espressif/esp-idf/v5.1/components/newlib /Users/dev/.espressif/esp-idf/v5.1/components/partition_table /Users/dev/.espressif/esp-idf/v5.1/components/pthread /Users/dev/.espressif/esp-idf/v5.1/components/sdmmc /Users/dev/.espressif/esp-idf/v5.1/components/soc /Users/dev/.espressif/esp-idf/v5.1/components/spi_flash /Users/dev/.espressif/esp-idf/v5.1/components/usb /Users/dev/.espressif/esp-idf/v5.1/components/vfs /Users/dev/.espressif/esp-idf/v5.1/components/wear_levelling /Users/dev/.espressif/esp-idf/v5.1/components/xtensa
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build
  running: cd "/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build" && ESP_IDF_COMPONENTS="espressif_tinyusb_0.15.0_2;espressif_esp_tinyusb_1.3.1" EXTRA_COMPONENT_DIRS="/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2;/Users/dev/work/incubator/esp-scratch/vendor/espressif_esp_tinyusb_1.3.1" IDF_COMPONENT_MANAGER="1" IDF_PATH="/Users/dev/.espressif/esp-idf/v5.1" IDF_TARGET="esp32s3" IDF_TOOLS_PATH="/Users/dev/.espressif" PATH="/Users/dev/.espressif/esp-idf/v5.1/tools:/Users/dev/.espressif/tools/cmake/3.24.0/CMake.app/Contents/bin:/Users/dev/.espressif/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:/Users/dev/.espressif/tools/ninja/1.10.2/:/Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin:/Users/dev/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:/Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:/Users/dev/miniforge3/condabin:/Users/dev/.cargo/bin:/Users/dev/.rbenv/shims:/Users/dev/.jenv/shims:/Users/dev/.yarn/bin:/Users/dev/node_modules/.bin:/usr/local/share/npm/bin:/Users/dev/.rbenv/bin:/opt/local/libexec/llvm-15/bin:/Library/TeX/texbin:/Applications/MiniZincIDE.app/Contents/Resources:/opt/local/bin:/opt/local/sbin:/Applications/Racket v8.7/bin:/Applications/Julia-1.6.app/Contents/Resources/julia/bin/:/Users/dev/software/wabt/bin:/Users/dev/software/zig/build/bin:/Users/dev/bin:/Users/dev/.dotfiles/bin:/usr/local/bin:/sbin:/Users/dev/Library/Python/3.9/bin:/Users/dev/.dotfiles/scripts/sandboxtron/bin:/Users/dev/work/relational-ai/kevin-rai/cli:/Library/Java/JavaVirtualMachines/openjdk16-graalvm/Contents/Home//bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Little Snitch.app/Contents/Components:/Library/Apple/usr/bin:/Users/dev/.cargo/bin" PROJECT_DIR="/Users/dev/work/incubator/esp-scratch" SDKCONFIG_DEFAULTS="/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/gen-sdkconfig.defaults;/Users/dev/work/incubator/esp-scratch/sdkconfig.defaults" "cmake" "--build" "." "--config" "MinSizeRel" "--parallel" "8"
  [1/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/cdc/cdc_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/cdc/cdc_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/cdc/cdc_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/cdc/cdc_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/cdc/cdc_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/cdc/cdc_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/cdc/cdc_device.c:27:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [2/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/hid/hid_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/hid/hid_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/hid/hid_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/hid/hid_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/hid/hid_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/hid/hid_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/hid/hid_device.c:27:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [3/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/msc/msc_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/msc/msc_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/msc/msc_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/msc/msc_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/msc/msc_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/msc/msc_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/msc/msc_device.c:27:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [4/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/midi/midi_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/midi/midi_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/midi/midi_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/midi/midi_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/midi/midi_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/midi/midi_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/midi/midi_device.c:27:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [5/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/audio/audio_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/audio/audio_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/audio/audio_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/audio/audio_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/audio/audio_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/audio/audio_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/audio/audio_device.c:51:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [6/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/video/video_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/video/video_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/video/video_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/video/video_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/video/video_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/video/video_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/video/video_device.c:28:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [7/27] Building C object esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/vendor/vendor_device.c.obj
  FAILED: esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/vendor/vendor_device.c.obj 
  /Users/dev/.rustup/toolchains/esp/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/config -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include/freertos -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/device -I/Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/lib/networking -I/Users/dev/.espressif/esp-idf/v5.1/components/newlib/platform_include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include/freertos -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/include -I/Users/dev/.espressif/esp-idf/v5.1/components/freertos/esp_additions/arch/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/include/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/. -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support/port/esp32s3/private_include -I/Users/dev/.espressif/esp-idf/v5.1/components/heap/include -I/Users/dev/.espressif/esp-idf/v5.1/components/log/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/include -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/include -I/Users/dev/.espressif/esp-idf/v5.1/components/hal/platform_port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/include/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3 -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_common/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/soc -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_system/port/include/private -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/include -I/Users/dev/.espressif/esp-idf/v5.1/components/xtensa/esp32s3/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/include/apps/sntp -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/lwip/src/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/freertos/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include -I/Users/dev/.espressif/esp-idf/v5.1/components/lwip/port/esp32xx/include/arch -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_netif/include -I/Users/dev/.espressif/esp-idf/v5.1/components/esp_event/include -mlongcalls  -ffunction-sections -fdata-sections -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Os -freorder-blocks -fmacro-prefix-map=/Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out=. -fmacro-prefix-map=/Users/dev/.espressif/esp-idf/v5.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -DCFG_TUSB_MCU=OPT_MCU_ESP32S3 -MD -MT esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/vendor/vendor_device.c.obj -MF esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/vendor/vendor_device.c.obj.d -o esp-idf/espressif_tinyusb_0.15.0_2/CMakeFiles/__idf_espressif_tinyusb_0.15.0_2.dir/src/class/vendor/vendor_device.c.obj -c /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/vendor/vendor_device.c
  In file included from /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/class/vendor/vendor_device.c:27:
  /Users/dev/work/incubator/esp-scratch/vendor/espressif_tinyusb_0.15.0_2/src/tusb_option.h:195:12: fatal error: tusb_config.h: No such file or directory
    195 |   #include "tusb_config.h"
        |            ^~~~~~~~~~~~~~~
  compilation terminated.
  [8/27] Performing build step for 'bootloader'
  [0/1] Re-running CMake...
  -- Building ESP-IDF components for target esp32s3
  -- Project sdkconfig file /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/sdkconfig
  Compiler supported targets: xtensa-esp32s3-elf

  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld
  -- App "bootloader" version: v5.1
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld
  -- Adding linker script /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld
  -- Components: bootloader bootloader_support efuse esp_app_format 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: /Users/dev/.espressif/esp-idf/v5.1/components/bootloader /Users/dev/.espressif/esp-idf/v5.1/components/bootloader_support /Users/dev/.espressif/esp-idf/v5.1/components/efuse /Users/dev/.espressif/esp-idf/v5.1/components/esp_app_format /Users/dev/.espressif/esp-idf/v5.1/components/esp_common /Users/dev/.espressif/esp-idf/v5.1/components/esp_hw_support /Users/dev/.espressif/esp-idf/v5.1/components/esp_rom /Users/dev/.espressif/esp-idf/v5.1/components/esp_system /Users/dev/.espressif/esp-idf/v5.1/components/esptool_py /Users/dev/.espressif/esp-idf/v5.1/components/freertos /Users/dev/.espressif/esp-idf/v5.1/components/hal /Users/dev/.espressif/esp-idf/v5.1/components/log /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/main /Users/dev/.espressif/esp-idf/v5.1/components/bootloader/subproject/components/micro-ecc /Users/dev/.espressif/esp-idf/v5.1/components/newlib /Users/dev/.espressif/esp-idf/v5.1/components/partition_table /Users/dev/.espressif/esp-idf/v5.1/components/soc /Users/dev/.espressif/esp-idf/v5.1/components/spi_flash /Users/dev/.espressif/esp-idf/v5.1/components/xtensa
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader
  [1/1] cd /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader/esp-idf/esptool_py && /Users/dev/.espressif/python_env/idf5.1_py3.8_env/bin/python /Users/dev/.espressif/esp-idf/v5.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /Users/dev/work/incubator/esp-scratch/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-04274d33277824bf/out/build/bootloader/bootloader.bin
  Bootloader binary size 0x51f0 bytes. 0x2e10 bytes (36%) free.
  ninja: build stopped: subcommand failed.

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: Some(
          Global,
      ),
      esp_idf_sdkconfig: Some(
          "sdkconfig",
      ),
      esp_idf_sdkconfig_defaults: Some(
          [
              "sdkconfig.defaults",
          ],
      ),
      mcu: None,
      native: NativeConfig {
          esp_idf_version: Some(
              Tag(
                  "v5.1",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [
              ExtraComponent {
                  component_dirs: [
                      "vendor",
                  ],
                  remote_component: None,
                  bindings_header: None,
                  bindings_module: None,
                  manifest_dir: "/Users/dev/work/incubator/esp-scratch",
              },
          ],
          esp_idf_components: Some(
              [
                  "espressif_tinyusb_0.15.0_2",
                  "espressif_esp_tinyusb_1.3.1",
              ],
          ),
          esp_idf_component_manager: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v5.1") }
  Using esp-idf v5.1.0 at '/Users/dev/.espressif/esp-idf/v5.1'
  /Users/dev/.espressif/esp-idf/v5.1/tools/check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources
  Compiler supported targets: xtensa-esp32s3-elf

  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 1

  build script failed, must exit now', /Users/dev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
dacut commented 1 year ago

I've created a container that reproduces this issue; sources are here: https://github.com/dacut/esp-idf-sys-231 You can also fetch directly (docker pull dacut/esp-idf-sys-231:latest), but it's a massive image.

I put a symlink in place to work around the "tusb_config.h" not found issue. Somehow, there ought to be a way to pass -I args to cmake without resorting to the cmake driver in esp-idf-sys; setting CARGO_CMAKE_BUILD_INCLUDES also switches the driver.

Definitely something odd now going on with the libespidf build step. The relevant bits of the backtrace:

     2: cmake::fail
               at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
     3: cmake::run
               at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1076:9
     4: cmake::Config::build
               at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:874:9
     5: build_script_build::native::cargo_driver::build
               at ./build/native/cargo_driver.rs:453:5
     6: build_script_build::native::build
               at ./build/native.rs:17:9
     7: build_script_build::main
               at ./build/build.rs:52:24
dacut commented 1 year ago

Hmm... instrumenting esp-idf-sys' cmake with .very_verbose(true), I see two big differences: In master:

In feature/remote-components:

I wonder if this is caused by the C++ files in ./vendor/espressif_tinyusb_0.15.0_2/test?

dacut commented 1 year ago

Ok, this is what it looks like the feature/remote-components branch actually wants in Cargo.toml:

[[package.metadata.esp-idf-sys.extra_components]]
espressif_tinyusb = { name = "espressif/tinyusb", version = "0.15.0_2" }
espressif_esp_tinyusb = { name = "espressif/esp_tinyusb", version = "1.3.1" }

However, this errors out at compile time:

error: invalid `--cfg` argument: `esp_idf_comp_espressif_tinyusb_0.15.0_2_enabled` (expected `key` or `key="value"`)

The config keys it tries to set are invalid:

[issue231 0.1.0] cargo:rustc-cfg=esp_idf_comp_espressif_tinyusb_0.15.0_2_enabled
[issue231 0.1.0] cargo:rustc-cfg=esp_idf_comp_espressif_esp_tinyusb_1.3.1_enabled

This diff seems to fix it, but I don't know if it's what should be done:

diff --git a/build/common.rs b/build/common.rs
index f60398b0..6474dcc0 100644
--- a/build/common.rs
+++ b/build/common.rs
@@ -131,7 +131,7 @@ impl EspIdfComponents {
         self.0.iter().map(|c| {
             format!(
                 "esp_idf_comp_{}_enabled",
-                c.to_lowercase().replace('-', "_")
+                c.to_lowercase().replace(['-', '.'], "_")
             )
         })
     }
ivmarkov commented 1 year ago

I think it should actually set keys which do not contain the version string of the component. I.e.

esp_idf_comp_espressif_tinyusb_enabled
esp_idf_comp_espressif_esp_tinyusb_enabled
dacut commented 1 year ago

@ivmarkov Agreed, but it's not obvious to me where this is being done. My guess is it's something that is set in the ESP-IDF build logic that embuild picks up, but I was unable to track that down.

N3xed commented 1 year ago

Ok, this is what it looks like the feature/remote-components branch actually wants in Cargo.toml:

[[package.metadata.esp-idf-sys.extra_components]]
espressif_tinyusb = { name = "espressif/tinyusb", version = "0.15.0_2" }
espressif_esp_tinyusb = { name = "espressif/esp_tinyusb", version = "1.3.1" }

However, this errors out at compile time:

error: invalid `--cfg` argument: `esp_idf_comp_espressif_tinyusb_0.15.0_2_enabled` (expected `key` or `key="value"`)

The config keys it tries to set are invalid:

[issue231 0.1.0] cargo:rustc-cfg=esp_idf_comp_espressif_tinyusb_0.15.0_2_enabled
[issue231 0.1.0] cargo:rustc-cfg=esp_idf_comp_espressif_esp_tinyusb_1.3.1_enabled

Well, I'm not sure how you got these cfgs to be emitted, but the keys espressif_tinyusb and espressif_esp_tinyusb don't (or shouldn't) actually do anything. Maybe you got some other options set that produce your output?

I suspect you downloaded these components under the folders espressif_tinyusb_0.15.0_2 and espressif_esp_tinyusb_1.3.1, and added these as extra components. Such component_dirs with dots in the name are currently not supported. The esp-idf build system supports component names with dots, and we get the compiled components from it, and as you pointed out, currently don't do any sanitization on them.

The following configuration, for the feature/remote-components branch, uses the tinyusb and esp_tinyusb components:

[[package.metadata.esp-idf-sys.extra_components]]
remote_component = { name = "espressif/tinyusb", version = "^0.15.0~2" }
[[package.metadata.esp-idf-sys.extra_components]]
remote_component = { name = "espressif/esp_tinyusb", version = "^1.3.1" }

This, at least for me, compiles fine and emits the expected cfgs:

Note, the double _ are not typos. Basically, a slash / in name corresponds to two underscores __ (the esp-idf component manager does this).

ivmarkov commented 11 months ago

@dacut After the clarifications from @N3xed is this still an issue?

dacut commented 11 months ago

With the latest builds and clarifications, it's working for me. (Not sure about the original reporter.)