Trouble building Matter examples on MacOS with VSCode
Posted: Sun Mar 05, 2023 1:57 pm
I am having some serious issues getting the examples to compile in VSCode. I must have done something wrong at some point, at first the build process failed because GN was not found. I installed GN manually to get one step further, and now it failes because ZAP is not found. I am pretty sure I took a wrong point at one step but I fail to find out what it is.
So I cloned ESP IDF from github into ~/esp/esp-idf
I installed the IDF extension in VSCode and ran the configuration from the command palette
I cloned the matter repository which for some reason is still called connectedhomeip and went through BUILDING.md, everythign is activated and buildt just fine. For what it's worth, GN was available in the terminal window I used to activate the matter environment even before I manually installed it.
The current output when I try to build the temperature sensor example from VSCode after I manually installed GN is this:
I am really curious to find out where I took the wrong turn, I'm quite certain I am not supposed to manually take care to install missing modules but as of right know I'm pretty stuck unfortunately.
Any help is greatly appreciated! Thank you!
So I cloned ESP IDF from github into ~/esp/esp-idf
I installed the IDF extension in VSCode and ran the configuration from the command palette
I cloned the matter repository which for some reason is still called connectedhomeip and went through BUILDING.md, everythign is activated and buildt just fine. For what it's worth, GN was available in the terminal window I used to activate the matter environment even before I manually installed it.
The current output when I try to build the temperature sensor example from VSCode after I manually installed GN is this:
Code: Select all
-- Found Git: /usr/bin/git (found version "2.37.1 (Apple Git-137.1)")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/username/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/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/username/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/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/username/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/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
Solving dependencies requirements
.......Updating lock file at /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/dependencies.lock
Processing 2 dependencies:
[1/2] espressif/mdns (1.0.8)
[2/2] idf (5.1.0)
-- Found Python3: /usr/local/Frameworks/Python.framework/Versions/3.11/bin/python3.11 (found version "3.11.2") found components: Interpreter
-- Project sdkconfig file /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig
Loading defaults file /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults...
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:56 CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM was replaced with CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:57 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM was replaced with CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:58 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM was replaced with CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:73 CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN was replaced with CONFIG_BTDM_CTRL_BLE_MAX_CONN
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:74 CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF was replaced with CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:75 CONFIG_NIMBLE_MAX_CONNECTIONS was replaced with CONFIG_BT_NIMBLE_MAX_CONNECTIONS
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:76 CONFIG_TCPIP_RECVMBOX_SIZE was replaced with CONFIG_LWIP_TCPIP_RECVMBOX_SIZE
/Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/sdkconfig.defaults:77 CONFIG_TCP_SYNMAXRTX was replaced with CONFIG_LWIP_TCP_SYNMAXRTX
-- 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
-- Found Python3: /Users/username/.espressif/python_env/idf5.1_py3.11_env/bin/python (found version "3.11.2") found components: Interpreter
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
-- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
-- App "chip-temperature-measurement-ap" version: v1.0
-- Adding linker script /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_system/ld/esp32c6/sections.ld.in
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.api.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.libgcc.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.version.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.phy.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.coexist.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.net80211.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.pp.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.wdt.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib-normal.ld
-- Adding linker script /Users/username/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.heap.ld
-- Adding linker script /Users/username/esp/esp-idf/components/soc/esp32c6/ld/esp32c6.peripherals.ld
-- Components: QRCode app_trace app_update bootloader bootloader_support bt chip cmock console cxx driver efuse esp-tls esp32_mbedtls esp_adc esp_app_format esp_coex esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_wifi espcoredump espressif__mdns esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash openthread partition_table protobuf-c protocomm pthread riscv sdmmc soc spi_flash spiffs tcp_transport ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant
-- Component paths: /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/third_party/connectedhomeip/examples/common/QRCode /Users/username/esp/esp-idf/components/app_trace /Users/username/esp/esp-idf/components/app_update /Users/username/esp/esp-idf/components/bootloader /Users/username/esp/esp-idf/components/bootloader_support /Users/username/esp/esp-idf/components/bt /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/third_party/connectedhomeip/config/esp32/components/chip /Users/username/esp/esp-idf/components/cmock /Users/username/esp/esp-idf/components/console /Users/username/esp/esp-idf/components/cxx /Users/username/esp/esp-idf/components/driver /Users/username/esp/esp-idf/components/efuse /Users/username/esp/esp-idf/components/esp-tls /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/third_party/connectedhomeip/config/esp32/components/esp32_mbedtls /Users/username/esp/esp-idf/components/esp_adc /Users/username/esp/esp-idf/components/esp_app_format /Users/username/esp/esp-idf/components/esp_coex /Users/username/esp/esp-idf/components/esp_common /Users/username/esp/esp-idf/components/esp_eth /Users/username/esp/esp-idf/components/esp_event /Users/username/esp/esp-idf/components/esp_gdbstub /Users/username/esp/esp-idf/components/esp_hid /Users/username/esp/esp-idf/components/esp_http_client /Users/username/esp/esp-idf/components/esp_http_server /Users/username/esp/esp-idf/components/esp_https_ota /Users/username/esp/esp-idf/components/esp_https_server /Users/username/esp/esp-idf/components/esp_hw_support /Users/username/esp/esp-idf/components/esp_lcd /Users/username/esp/esp-idf/components/esp_local_ctrl /Users/username/esp/esp-idf/components/esp_mm /Users/username/esp/esp-idf/components/esp_netif /Users/username/esp/esp-idf/components/esp_netif_stack /Users/username/esp/esp-idf/components/esp_partition /Users/username/esp/esp-idf/components/esp_phy /Users/username/esp/esp-idf/components/esp_pm /Users/username/esp/esp-idf/components/esp_psram /Users/username/esp/esp-idf/components/esp_ringbuf /Users/username/esp/esp-idf/components/esp_rom /Users/username/esp/esp-idf/components/esp_system /Users/username/esp/esp-idf/components/esp_timer /Users/username/esp/esp-idf/components/esp_wifi /Users/username/esp/esp-idf/components/espcoredump /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/managed_components/espressif__mdns /Users/username/esp/esp-idf/components/esptool_py /Users/username/esp/esp-idf/components/fatfs /Users/username/esp/esp-idf/components/freertos /Users/username/esp/esp-idf/components/hal /Users/username/esp/esp-idf/components/heap /Users/username/esp/esp-idf/components/http_parser /Users/username/esp/esp-idf/components/idf_test /Users/username/esp/esp-idf/components/ieee802154 /Users/username/esp/esp-idf/components/json /Users/username/esp/esp-idf/components/log /Users/username/esp/esp-idf/components/lwip /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/main /Users/username/esp/esp-idf/components/mbedtls /Users/username/esp/esp-idf/components/mqtt /Users/username/esp/esp-idf/components/newlib /Users/username/esp/esp-idf/components/nvs_flash /Users/username/esp/esp-idf/components/openthread /Users/username/esp/esp-idf/components/partition_table /Users/username/esp/esp-idf/components/protobuf-c /Users/username/esp/esp-idf/components/protocomm /Users/username/esp/esp-idf/components/pthread /Users/username/esp/esp-idf/components/riscv /Users/username/esp/esp-idf/components/sdmmc /Users/username/esp/esp-idf/components/soc /Users/username/esp/esp-idf/components/spi_flash /Users/username/esp/esp-idf/components/spiffs /Users/username/esp/esp-idf/components/tcp_transport /Users/username/esp/esp-idf/components/ulp /Users/username/esp/esp-idf/components/unity /Users/username/esp/esp-idf/components/usb /Users/username/esp/esp-idf/components/vfs /Users/username/esp/esp-idf/components/wear_levelling /Users/username/esp/esp-idf/components/wifi_provisioning /Users/username/esp/esp-idf/components/wpa_supplicant
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build
* Executing task: ninja
[4/1046] Generating ../../gen/app-codegen/cpp-app/app/PluginApplicationCallbacks.h, ../../gen/app-codegen/cpp-app/app/callback-stub.cpp
FAILED: gen/app-codegen/cpp-app/app/PluginApplicationCallbacks.h gen/app-codegen/cpp-app/app/callback-stub.cpp /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-codegen/cpp-app/app/PluginApplicationCallbacks.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-codegen/cpp-app/app/callback-stub.cpp
cd /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/esp-idf/main && /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/scripts/codegen.py --generator cpp-app --output-dir /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-codegen/cpp-app --expected-outputs /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-codegen/cpp-app/expected.outputs /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
Traceback (most recent call last):
File "/Users/username/Documents/ESP-IDF_Projects/connectedhomeip/scripts/codegen.py", line 28, in <module>
from matter_idl.matter_idl_parser import CreateParser
ModuleNotFoundError: No module named 'matter_idl'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/username/Documents/ESP-IDF_Projects/connectedhomeip/scripts/codegen.py", line 32, in <module>
from matter_idl.matter_idl_parser import CreateParser
File "/Users/username/Documents/ESP-IDF_Projects/connectedhomeip/scripts/py_matter_idl/matter_idl/matter_idl_parser.py", line 6, in <module>
from lark import Lark
ModuleNotFoundError: No module named 'lark'
[6/1046] 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,1945K,
*******************************************************************************
[7/1046] Generating ../../gen/app-zapgen/zapgen/app-templates/zap-generated/access.h, ../../gen/app-zapgen/zapgen/app-templates/za...pgen/app-templates/zap-generated/gen_config.h, ../../gen/app-zapgen/zapgen/app-templates/zap-generated/IMClusterCommandHandler.cpp
FAILED: gen/app-zapgen/zapgen/app-templates/zap-generated/access.h gen/app-zapgen/zapgen/app-templates/zap-generated/CHIPClientCallbacks.h gen/app-zapgen/zapgen/app-templates/zap-generated/CHIPClusters.h gen/app-zapgen/zapgen/app-templates/zap-generated/endpoint_config.h gen/app-zapgen/zapgen/app-templates/zap-generated/gen_config.h gen/app-zapgen/zapgen/app-templates/zap-generated/IMClusterCommandHandler.cpp /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/access.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/CHIPClientCallbacks.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/CHIPClusters.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/endpoint_config.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/gen_config.h /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated/IMClusterCommandHandler.cpp
cd /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/esp-idf/main && /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/scripts/tools/zap/generate.py --no-prettify-output --templates /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/src/app/zap-templates/app-templates.json --output-dir /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/gen/app-zapgen/zapgen/app-templates/zap-generated --lock-file /Users/username/Documents/ESP-IDF_Projects/matter-temperaturesensor/build/zap_gen.lock --parallel /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap
Searching for zcl file from /Users/username/Documents/ESP-IDF_Projects/connectedhomeip/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap
FAILED TO EXECUTE ZAP GENERATION: No such file or directory - "zap-cli"
********************************************************************************
* You may need to install zap. Please ensure one of these applies:
* - `zap-cli` is in $PATH. Install from https://github.com/project-chip/zap/releases
* see docs/guides/BUILDING.md for details
* - `zap-cli` is in $ZAP_INSTALL_PATH. Use this option if you
* installed zap but do not want to update $PATH
* - Point $ZAP_DEVELOPMENT_PATH to your local copy of zap that you
* develop on (to use a developer build of zap)
********************************************************************************
[15/1046] Building C object esp-idf/mbedtls/mbedtls/library/CMakeFiles/mbedcrypto.dir/bignum.c.obj
ninja: build stopped: subcommand failed.
* The terminal process "/bin/zsh '-c', 'ninja '" terminated with exit code: 1.
Any help is greatly appreciated! Thank you!