How to change sensors example from WiFi to Thread? (CON-1617)
I'm using ESP-IDF v5.2.3 with ESP-Matter. The hardware is an ESP32-C6 dev kit.
I would like to change from Matter over WiFi to Matter over Thread.
I created this "sdkconfig.defaults.c6_thread" file: CONFIG_IDF_TARGET="esp32c6"
libsodium
CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
NIMBLE
CONFIG_BT_ENABLED=y CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_EXT_ADV=n CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
Enable OpenThread
CONFIG_OPENTHREAD_ENABLED=y CONFIG_OPENTHREAD_SRP_CLIENT=y CONFIG_OPENTHREAD_DNS_CLIENT=y CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y CONFIG_OPENTHREAD_CLI=n
Disable lwip ipv6 autoconfig
CONFIG_LWIP_IPV6_AUTOCONFIG=n
LwIP config for OpenThread
CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 CONFIG_LWIP_MULTICAST_PING=y
MDNS platform
CONFIG_USE_MINIMAL_MDNS=n CONFIG_ENABLE_EXTENDED_DISCOVERY=y
Disable STA for ESP32C6
CONFIG_ENABLE_WIFI_STATION=n
I issued this command:
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" set-target esp32c6
The build resulted in an error.
It looks like this is the fatal error:
/Users/olavt/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/chip/lib/libCHIP.a(cryptopal_mbedtls.CHIPCryptoPALmbedTLS.cpp.o): in function chip::Crypto::HKDF_sha::HKDF_SHA256(unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned int)': /Users/olavt/Source/Repos/sensors/build/esp-idf/chip/../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/crypto/CHIPCryptoPALmbedTLS.cpp:299:(.text._ZN4chip6Crypto8HKDF_sha11HKDF_SHA256EPKhjS3_jS3_jPhj+0x68): undefined reference to mbedtls_hkdf'
This is the build log (some uninteresting parts omitted):
- Executing task: ninja
[5/2201] Generating ../../partition_table/partition-table.bin Partition table binary generated. Contents:
ESP-IDF Partition Table
Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K, phy_init,data,phy,0xf000,4K, factory,app,factory,0x10000,1M,
[1007/2201] Performing configure step for 'chip_gn'
Done. Made 4450 targets from 310 files in 222ms
[1123/2201] Building C object esp-idf/espressif__esp_diagnostics/CMakeFiles/__idf_espressif__esp_diagnostics.dir/src/esp_diagnostics_utils.c.obj
In file included from /Users/olavt/Source/Repos/sensors/managed_components/espressif__esp_diagnostics/src/esp_diagnostics_utils.c:52:
/Users/olavt/esp/v5.2.3/esp-idf/components/freertos/esp_additions/include/freertos/task_snapshot.h:8:2: warning: #warning freertos/task_snapshot.h header is no longer used, and will be removed in future versions. [-Wcpp]
8 | #warning freertos/task_snapshot.h header is no longer used, and will be removed in future versions.
| ^~~~~~~
[1296/2201] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.39.5 (Apple Git-154)")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/olavt/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/olavt/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/olavt/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32c6
-- Project sdkconfig file /Users/olavt/Source/Repos/sensors/sdkconfig
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/soc/esp32c6/ld/esp32c6.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.api.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.rvfp.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.phy.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.wdt.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.systimer.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.version.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
-- Adding linker script /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.rom.ld
-- Components: 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 riscv soc spi_flash
-- Component paths: /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader_support /Users/olavt/esp/v5.2.3/esp-idf/components/efuse /Users/olavt/esp/v5.2.3/esp-idf/components/esp_app_format /Users/olavt/esp/v5.2.3/esp-idf/components/esp_bootloader_format /Users/olavt/esp/v5.2.3/esp-idf/components/esp_common /Users/olavt/esp/v5.2.3/esp-idf/components/esp_hw_support /Users/olavt/esp/v5.2.3/esp-idf/components/esp_rom /Users/olavt/esp/v5.2.3/esp-idf/components/esp_system /Users/olavt/esp/v5.2.3/esp-idf/components/esptool_py /Users/olavt/esp/v5.2.3/esp-idf/components/freertos /Users/olavt/esp/v5.2.3/esp-idf/components/hal /Users/olavt/esp/v5.2.3/esp-idf/components/log /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader/subproject/main /Users/olavt/esp/v5.2.3/esp-idf/components/bootloader/subproject/components/micro-ecc /Users/olavt/esp/v5.2.3/esp-idf/components/newlib /Users/olavt/esp/v5.2.3/esp-idf/components/partition_table /Users/olavt/esp/v5.2.3/esp-idf/components/riscv /Users/olavt/esp/v5.2.3/esp-idf/components/soc /Users/olavt/esp/v5.2.3/esp-idf/components/spi_flash
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/olavt/Source/Repos/sensors/build/bootloader
[2006/2201] Performing build step for 'bootloader'
[1/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[2/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[3/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
[4/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[5/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[6/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[7/109] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
[8/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_hp_regi2c_esp32c6.c.obj
[9/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[10/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[11/109] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
[12/109] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[13/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/esp_cpu_intr.c.obj
[14/109] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[15/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_param.c.obj
[16/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/cpu_region_protect.c.obj
[17/109] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj
[18/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/chip_info.c.obj
[19/109] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[20/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk_init.c.obj
[21/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/ocode_init.c.obj
[22/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_init.c.obj
[23/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_table.c.obj
[24/109] Linking C static library esp-idf/log/liblog.a
[25/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_rtc_calib.c.obj
[26/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_time.c.obj
[27/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_fields.c.obj
[28/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_utility.c.obj
[29/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[30/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk.c.obj
[31/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[32/109] Linking C static library esp-idf/esp_rom/libesp_rom.a
[33/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[34/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[35/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[36/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[37/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[38/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[39/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[40/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32c6.c.obj
[41/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
[42/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[43/109] Linking C static library esp-idf/esp_common/libesp_common.a
[44/109] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[45/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[46/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[47/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c6.c.obj
[48/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[49/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[50/109] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_sleep.c.obj
[51/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[52/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_soc.c.obj
[53/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_ecdsa.c.obj
[54/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_sha.c.obj
[55/109] Building C object esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj
[56/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[57/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[58/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c6/efuse_hal.c.obj
[59/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_esp32c6.c.obj
[60/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[61/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj
[62/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/lp_timer_hal.c.obj
[63/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[64/109] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[65/109] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
[66/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/interrupts.c.obj
[67/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[68/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/adc_periph.c.obj
[69/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/uart_periph.c.obj
[70/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/dedic_gpio_periph.c.obj
[71/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gpio_periph.c.obj
[72/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gdma_periph.c.obj
[73/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/pcnt_periph.c.obj
[74/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[75/109] Linking C static library esp-idf/esp_system/libesp_system.a
[76/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/spi_periph.c.obj
[77/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ledc_periph.c.obj
[78/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdm_periph.c.obj
[79/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rmt_periph.c.obj
[80/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/temperature_sensor_periph.c.obj
[81/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2s_periph.c.obj
[82/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/timer_periph.c.obj
[83/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2c_periph.c.obj
[84/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/mcpwm_periph.c.obj
[85/109] Generating project_elf_src_esp32c6.c
[86/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[87/109] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
[88/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ieee802154_periph.c.obj
[89/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/parlio_periph.c.obj
[90/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/twai_periph.c.obj
[91/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/mpi_periph.c.obj
[92/109] Linking C static library esp-idf/efuse/libefuse.a
[93/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rtc_io_periph.c.obj
[94/109] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdio_slave_periph.c.obj
[95/109] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32c6.c.obj
[96/109] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[97/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[98/109] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[99/109] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[100/109] Linking C static library esp-idf/esp_bootloader_format/libesp_bootloader_format.a
[101/109] Linking C static library esp-idf/spi_flash/libspi_flash.a
[102/109] Linking C static library esp-idf/hal/libhal.a
[103/109] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[104/109] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[105/109] Linking C static library esp-idf/soc/libsoc.a
[106/109] Linking C static library esp-idf/main/libmain.a
[107/109] Linking C executable bootloader.elf
[108/109] Generating binary image from built executable
esptool.py v4.8.1
Creating esp32c6 image...
Merged 2 ELF sections
Successfully created esp32c6 image.
Generated /Users/olavt/Source/Repos/sensors/build/bootloader/bootloader.bin
...
[119/330] c++ obj/third_party/connectedhomeip/src/platform/ESP32/ESP32.OpenthreadLauncher.cpp.o
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/OpenthreadLauncher.cpp:121:13: warning: 'void cli_command_transmit_task_delete()' defined but not used [-Wunused-function]
121 | static void cli_command_transmit_task_delete(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/OpenthreadLauncher.cpp:114:18: warning: 'esp_err_t cli_command_transmit_task()' defined but not used [-Wunused-function]
114 | static esp_err_t cli_command_transmit_task(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/OpenthreadLauncher.cpp:79:13: warning: 'void esp_openthread_matter_cli_init()' defined but not used [-Wunused-function]
79 | static void esp_openthread_matter_cli_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[120/330] c++ obj/third_party/connectedhomeip/src/platform/ESP32/ESP32.SystemTimeSupport.cpp.o
[121/330] c++ obj/third_party/connectedhomeip/src/platform/ESP32/ESP32.DiagnosticDataProviderImpl.cpp.o
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/DiagnosticDataProviderImpl.cpp: In member function 'virtual CHIP_ERROR chip::DeviceLayer::DiagnosticDataProviderImpl::GetNetworkInterfaces(chip::DeviceLayer::NetworkInterface**)':
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/DiagnosticDataProviderImpl.cpp:206:45: warning: 'esp_netif_t* esp_netif_next(esp_netif_t*)' is deprecated: use esp_netif_next_unsafe() either directly or via esp_netif_tcpip_exec [-Wdeprecated-declarations]
206 | esp_netif_t * netif = esp_netif_next(NULL);
| ~~~~~~~~~~~~~~^~~~~~
In file included from ../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/DiagnosticDataProviderImpl.cpp:35:
/Users/olavt/esp/v5.2.3/esp-idf/components/esp_netif/include/esp_netif.h:1041:14: note: declared here
1041 | esp_netif_t esp_netif_next(esp_netif_t esp_netif)
| ^~~~~~~~~~~~~~
../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/DiagnosticDataProviderImpl.cpp:216:74: warning: 'esp_netif_t esp_netif_next(esp_netif_t)' is deprecated: use esp_netif_next_unsafe() either directly or via esp_netif_tcpip_exec [-Wdeprecated-declarations]
216 | for (esp_netif_t * ifa = netif; ifa != NULL; ifa = esp_netif_next(ifa))
| ~~~~~~~~~~~~~~^~~~~
/Users/olavt/esp/v5.2.3/esp-idf/components/esp_netif/include/esp_netif.h:1041:14: note: declared here
1041 | esp_netif_t esp_netif_next(esp_netif_t esp_netif)
| ^~~~~~~~~~~~~~
[122/330] c++ obj/third_party/connectedhomeip/src/platform/ESP32/ESP32.DnssdImpl.cpp.o
...
[330/330] ar libCHIP.a
[2020/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/esp_matter_ota.cpp.obj
/Users/olavt/.espressif/esp-matter/components/esp_matter/esp_matter_ota.cpp:69:18: warning: 'esp_err_t esp_matter_ota_override_impl(const esp_matter_ota_requestor_impl_t)' defined but not used [-Wunused-function]
69 | static esp_err_t esp_matter_ota_override_impl(const esp_matter_ota_requestor_impl_t impl)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[2023/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/esp_matter_attribute_bounds.cpp.obj
/Users/olavt/.espressif/esp-matter/components/esp_matter/esp_matter_attribute_bounds.cpp: In function 'void esp_matter::cluster::level_control::add_bounds_cb(esp_matter::cluster_t)':
/Users/olavt/.espressif/esp-matter/components/esp_matter/esp_matter_attribute_bounds.cpp:134:39: warning: variable 'max_val' set but not used [-Wunused-but-set-variable]
134 | esp_matter_attr_val_t max_val = esp_matter_invalid(NULL);
| ^~~~~~~
[2026/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/esp_matter_attribute_utils.cpp.obj
/Users/olavt/.espressif/esp-matter/components/esp_matter/esp_matter_attribute_utils.cpp:1037:30: warning: 'esp_matter_val_type_t esp_matter::attribute::get_val_type_from_attribute_type(int)' defined but not used [-Wunused-function]
1037 | static esp_matter_val_type_t get_val_type_from_attribute_type(int attribute_type)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[2056/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp.obj
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp: In function 'void emberAfEndpointConfigure()':
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp:186:40: warning: comparison is always true due to limited range of data type [-Wtype-limits]
186 | static_assert(FIXED_ENDPOINT_COUNT <= std::numeric_limits<decltype(ep)>::max(),
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp: In function 'uint16_t emberAfGetClusterServerEndpointIndex(chip::EndpointId, chip::ClusterId, uint16_t)':
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp:864:17: warning: comparison is always false due to limited range of data type [-Wtype-limits]
864 | if (epIndex < FIXED_ENDPOINT_COUNT)
[2096/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/Users/olavt/.esp...r/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp.obj
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp: In member function 'chip::Protocols::InteractionModel::Status ColorControlServer::moveToHueCommand(chip::EndpointId, uint16_t, DirectionEnum, uint16_t, chip::BitMaskchip::app::Clusters::ColorControl::OptionsBitmap, chip::BitMaskchip::app::Clusters::ColorControl::OptionsBitmap, bool)':
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp:1602:58: warning: 'direction' may be used uninitialized [-Wmaybe-uninitialized]
1602 | colorHueTransitionState->up = (direction == DirectionEnum::kUp);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp:1525:19: note: 'direction' was declared here
1525 | DirectionEnum direction;
| ^~~~~~~~~
[2181/2201] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/Users/olavt/.esp...ter/connectedhomeip/connectedhomeip/src/app/clusters/test-cluster-server/test-cluster-server.cpp.obj
In file included from /Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/ConcreteAttributePath.h:23,
from /Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h:26,
from /Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/test-cluster-server/test-cluster-server.cpp:23:
In copy constructor 'constexpr chip::Optional<T>::Optional(const chip::Optional<T>&) [with T = chip::app::Clusters::Globals::TestGlobalEnum]',
inlined from 'constexpr chip::app::Clusters::UnitTesting::Structs::SimpleStruct::Type::Type(const chip::app::Clusters::UnitTesting::Structs::SimpleStruct::Type&)' at /Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h:45819:8,
inlined from 'bool emberAfUnitTestingClusterTestEmitTestEventRequestCallback(chip::app::CommandHandler, const chip::app::ConcreteCommandPath&, const chip::app::Clusters::UnitTesting::Commands::TestEmitTestEventRequest::DecodableType&)' at /Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/test-cluster-server/test-cluster-server.cpp:906:107:
/Users/olavt/.espressif/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/Optional.h:72:74: warning: 'arg4.chip::app::Clusters::UnitTesting::Structs::SimpleStruct::Type::i.chip::Optionalchip::app::Clusters::Globals::TestGlobalEnum::mValueHolder.chip::Optionalchip::app::Clusters::Globals::TestGlobalEnum::ValueHolder::chip::Crypto::HKDF_sha::HKDF_SHA256(unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned int)': /Users/olavt/Source/Repos/sensors/build/esp-idf/chip/../../../../../../.espressif/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/crypto/CHIPCryptoPALmbedTLS.cpp:299:(.text._ZN4chip6Crypto8HKDF_sha11HKDF_SHA256EPKhjS3_jS3_jPhj+0x68): undefined reference to mbedtls_hkdf'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
- The terminal process "ninja" terminated with exit code: 1.
@olavt , please enable CONFIG_MBEDTLS_HKDF_C=y in the sdkconfig.defaults.c6_thread to resolve the linker issue.
@olavt Please close the issue if resolved. The above suggestion should help you fix the linking error