esp-idf-sys icon indicating copy to clipboard operation
esp-idf-sys copied to clipboard

Specifying components in `package.metadata.esp-idf-sys` fails the build

Open juliankrieger opened this issue 1 year ago • 4 comments
trafficstars

When generating a new blank template from https://github.com/esp-rs/esp-idf-template and adding any number of components in package.metadata.esp-idf-sys, the build fails with

[...]
[813/860] Linking C static library esp-idf/xtensa/libxtensa.a
  [814/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_log.c.obj
  [815/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_sm_lgcy.c.obj
  [816/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_mbuf.c.obj
  [817/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_store.c.obj
  [818/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_l2cap_coc.c.obj
  [819/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_cfg.c.obj
  [820/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_eddystone.c.obj
  [821/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_att_clt.c.obj
  [822/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_att_cmd.c.obj
  [823/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_sm_cmd.c.obj
  [824/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_startup.c.obj
  [825/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_l2cap_sig.c.obj
  [826/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_pvcy.c.obj
  [827/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_gattc.c.obj
  [828/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_uuid.c.obj
  [829/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_flow.c.obj
  [830/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_misc.c.obj
  [831/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_sm_sc.c.obj
  [832/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_l2cap.c.obj
  [833/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_resolv.c.obj
  [834/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_adv.c.obj
  [835/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_hci_util.c.obj
  [836/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_hs_hci.c.obj
  [837/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_gatts.c.obj
  [838/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_gattc_cache.c.obj
  [839/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/port/src/nvs_port.c.obj
  [840/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/npl/freertos/src/nimble_port_freertos.c.obj
  [841/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_gap.c.obj
  [842/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c.obj
  [843/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c.obj
  [844/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/src/ble_gattc_cache_conn.c.obj
  [845/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c.obj
  [846/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/nimble_port.c.obj
  [847/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/endian.c.obj
  [848/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/mem.c.obj
  [849/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/os_msys_init.c.obj
  [850/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/common/btc/profile/esp/blufi/nimble_host/esp_blufi.c.obj
  [851/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/os_mempool.c.obj
  [852/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/esp-hci/src/esp_nimble_hci.c.obj
  [853/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c.obj
  [854/860] Building C object esp-idf/bt/CMakeFiles/__idf_bt.dir/host/nimble/nimble/porting/nimble/src/os_mbuf.c.obj
  [855/860] Linking C static library esp-idf/bt/libbt.a
  [856/860] Generating ld/sections.ld
  [857/860] Building C object CMakeFiles/libespidf.elf.dir/project_elf_src_esp32s3.c.obj
  [858/860] Linking CXX executable libespidf.elf
  FAILED: libespidf.elf 
  : && /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++ -mlongcalls  -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32S3=0 -Wl,--Map=/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-a67f383aaf2931fa/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/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/soc/esp32s3/ld   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_rom/esp32s3/ld   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-a67f383aaf2931fa/out/build/esp-idf/esp_system/ld   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_phy/lib/esp32s3   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_coex/lib/esp32s3   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3   -L/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/bt/controller/lib_esp32c3_family/esp32s3 esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.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/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.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_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/bt/libbt.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.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/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.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_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a  esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_coex/lib/esp32s3/libcoexist.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libcore.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libespnow.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libmesh.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libnet80211.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libpp.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libsmartconfig.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.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/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.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_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a  esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_coex/lib/esp32s3/libcoexist.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libcore.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libespnow.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libmesh.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libnet80211.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libpp.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libsmartconfig.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.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/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.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_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a  esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_coex/lib/esp32s3/libcoexist.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libcore.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libespnow.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libmesh.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libnet80211.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libpp.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libsmartconfig.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libwapi.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_mm/libesp_mm.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/esp_bootloader_format/libesp_bootloader_format.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/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.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_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/vfs/libvfs.a  esp-idf/lwip/liblwip.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_coex/libesp_coex.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  esp-idf/mbedtls/mbedtls/3rdparty/everest/libeverest.a  esp-idf/mbedtls/mbedtls/3rdparty/p256-m/libp256m.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_coex/lib/esp32s3/libcoexist.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libcore.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libespnow.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libmesh.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libnet80211.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libpp.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libsmartconfig.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/esp_wifi/lib/esp32s3/libwapi.a  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/xtensa/esp32s3/libxt_hal.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_var_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=FreeRTOS_openocd_params  -u app_main  -lc  -lm  -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  -Wl,--wrap=__cxa_throw  -Wl,--wrap=__cxa_allocate_exception  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  esp-idf/newlib/libnewlib.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  -u include_esp_phy_override  -lphy  -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb  -u vfs_include_syscalls_impl  -lbtdm_app && :
  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj):(.literal.main_task+0x20): undefined reference to `app_main'
  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/freertos/libfreertos.a(app_startup.c.obj): in function `main_task':
  /Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2/components/freertos/app_startup.c:206:(.text.main_task+0x9c): 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(
          Workspace(
              "/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif",
          ),
      ),
      esp_idf_sdkconfig: None,
      esp_idf_sdkconfig_defaults: Some(
          [
              "sdkconfig.defaults",
          ],
      ),
      mcu: Some(
          "esp32s3",
      ),
      native: NativeConfig {
          esp_idf_version: Some(
              Tag(
                  "v5.2.2",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [],
          esp_idf_components: Some(
              [
                  "bt",
              ],
          ),
          esp_idf_component_manager: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v5.2.2") }
  Using esp-idf v5.2.2 at '/Users/wintermute/Dev/Work/EduLock/software/experiments/esp32/.embuild/espressif/esp-idf/v5.2.2'
  thread 'main' panicked at /Users/wintermute/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 1

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I'm not sure wether this error also occurs in projects where just esp-idf-sys is used. Cargo.toml:

[package]
name = "esp-idf-template"
version = "0.1.0"
authors = ["jkrieger <[email protected]>"]
edition = "2021"
resolver = "2"
rust-version = "1.77"

[[bin]]
name = "esp-idf-template"
harness = false # do not use the built in cargo test harness -> resolve rust-analyzer errors

[profile.release]
opt-level = "s"

[profile.dev]
debug = true    # Symbols are nice and they don't increase the size on Flash
opt-level = "z"

[features]
default = ["std", "embassy", "esp-idf-svc/native"]

pio = ["esp-idf-svc/pio"]
std = ["alloc", "esp-idf-svc/binstart", "esp-idf-svc/std"]
alloc = ["esp-idf-svc/alloc"]
nightly = ["esp-idf-svc/nightly"]
experimental = ["esp-idf-svc/experimental"]
embassy = ["esp-idf-svc/embassy-sync", "esp-idf-svc/critical-section", "esp-idf-svc/embassy-time-driver"]

[dependencies]
log = { version = "0.4", default-features = false }
esp-idf-svc = { version = "0.49", default-features = false }

[build-dependencies]
embuild = "0.32.0"

[package.metadata.esp-idf-sys]
esp_idf_components = ["bt"]

Cargo build -vv log: log.txt

Is this related to binstart in some way? I found this bug when trying to limit included components to reduce binary size.

juliankrieger avatar Jun 27 '24 15:06 juliankrieger

while that technically should cross import all non specified components recursively through REQUIRES or PRIV_REQUIRES flag, it could create a case where for example "technically" bt doesn't require the "main" component and so for. So in that case you could miss something here that we assume to always be there.

I would in your shoes check out what "default" components we use and manual include the ones that seams pretty substatial to explicitly included by you. For example on a s3 the default list on a "hello-world" is something like "bootloader bootloader_support efuse esp_app_format esp_bootloader_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"

You can try to add them all and add your bt component and try to delete stuff from that list and check when it breaks. You can find the list of included components in the "output" file that is create in the buildoutput inside the esp-idf-sys build dir

Vollbrecht avatar Jun 27 '24 17:06 Vollbrecht

I had the exact same issue as the OP. I did @Vollbrecht's suggestion and checked the default component list in ./target/xtensa-esp32s3-espidf/debug/build/esp-idf-sys-9954d550c2403695/output (esp-idf-sys=0.35). There's a line prefixed with -- Components: that has the entire list.

Adding that entire list fixed it for me and then I was able to winnow it down to just "main" to resolve the problem. In my case I also have extra_components in the [package.metadata.esp-idf-sys].

cchandler avatar Sep 05 '24 15:09 cchandler

and then I was able to winnow it down to just "main" to resolve the problem.

What does "just main" mean exactly for your concrete case?

ivmarkov avatar Sep 05 '24 16:09 ivmarkov

@ivmarkov Here's the section from Cargo.toml. If I omit main from the esp_idf_components I get the OP's error in a cleanroom build.

[package.metadata.esp-idf-sys]
esp_idf_components = ["usb", "usb_host_hid", "main"]
esp_idf_comp_usb_enabled = true
mcu = "esp32s3"
extra_components = [
    { component_dirs = [ "idf-extra-components/usb/usb_host_hid/" ], bindings_header = "idf-extra-components/usb/usb_host_hid/include/usb/hid_host.h", bindings_module = "hid_host", manifest_dir = "idf-extra-components/usb/usb_host_hid" }
]

cchandler avatar Sep 05 '24 17:09 cchandler