Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Light example not building on Ubuntu 22.04, ESP-Matter 1.2 and ESP-IDF 5.2.1 (CON-1175) #944

Open
igorLjubinGorenjeCom opened this issue May 30, 2024 · 12 comments

Comments

@igorLjubinGorenjeCom
Copy link

Describe the bug
Light example not building on Ubuntu 22.04, ESP-Matter 1.2 and ESP-IDF 5.2.1

Environment

  • ESP-Matter Commit Id: f21874c
  • ESP-IDF Commit Id: a322e6bdad4b6675d4597fb2722eea2851ba88cb
  • SoC (eg: ESP32 or ESP32-C3): ESP32s3
  • Device Logs (Please attach the log file):
    logfile.log
  • Host Machine OS: Ubuntu 22.04
  • Commissioner app and versions if present:
  • Commissioner's logs if present:

Any additional details
...

$ cat sdkconfig.defaults.esp32s3
#enable BT
# CONFIG_BT_ENABLED=y
# CONFIG_BT_NIMBLE_ENABLED=y

# disable BT connection reattempt
# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n

#
# Bluetooth
#
CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
# CONFIG_BT_NIMBLE_ENABLED is not set
# CONFIG_BT_CONTROLLER_ONLY is not set
CONFIG_BT_CONTROLLER_ENABLED=y
# CONFIG_BT_CONTROLLER_DISABLED is not set


# enable lwip ipv6 autoconfig
CONFIG_LWIP_IPV6_AUTOCONFIG=y

# Use a custom partition table
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
CONFIG_PARTITION_TABLE_OFFSET=0xC000

# Enable chip shell
CONFIG_ENABLE_CHIP_SHELL=y

#enable lwIP route hooks
CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y
CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y

# Button
CONFIG_BUTTON_PERIOD_TIME_MS=20
CONFIG_BUTTON_LONG_PRESS_TIME_MS=5000

# disable softap by default
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n

# Disable DS Peripheral
CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n

# Use compact attribute storage mode
CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y

# Enable HKDF in mbedtls
CONFIG_MBEDTLS_HKDF_C=y

# Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1)
# unique local addresses for fabrics(MAX_FABRIC), a link local address(1)
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6

# ESP32-S3-DevKitC-1 Settings
# Buttons
CONFIG_BSP_BUTTONS_NUM=1
CONFIG_BSP_BUTTON_1_TYPE_GPIO=y
CONFIG_BSP_BUTTON_1_GPIO=0
CONFIG_BSP_BUTTON_1_LEVEL=0
# LEDs
CONFIG_BSP_LEDS_NUM=1
CONFIG_BSP_LED_TYPE_RGB=y
CONFIG_BSP_LED_RGB_GPIO=48
CONFIG_BSP_LED_RGB_BACKEND_RMT=y

@github-actions github-actions bot changed the title Light example not building on Ubuntu 22.04, ESP-Matter 1.2 and ESP-IDF 5.2.1 Light example not building on Ubuntu 22.04, ESP-Matter 1.2 and ESP-IDF 5.2.1 (CON-1175) May 30, 2024
@jonsmirl
Copy link
Contributor

jonsmirl commented Jun 2, 2024

What is the error?

@igorLjubinGorenjeCom
Copy link
Author

full.log

As seen in the full.log file (attached), containing clean, set-target, and build commands error is:

[1544/1801] Performing build step for 'chip_gn'
FAILED: esp-idf/chip/chip_gn-prefix/src/chip_gn-stamp/chip_gn-build esp-idf/chip/lib/libCHIP.a /home/igor/workspace/esp/matter/ui-esp32/build/esp-idf/chip/chip_gn-prefix/src/chip_gn-stamp/chip_gn-build /home/igor/workspace/esp/matter/ui-esp32/build/esp-idf/chip/lib/libCHIP.a 
cd /home/igor/workspace/esp/matter/ui-esp32/build/esp-idf/chip && ninja esp32
[204/474] c++ obj/third_party/connectedhomeip/src/platform/ESP32/bluedroid/ESP32.BLEManagerImpl.cpp.o
FAILED: obj/third_party/connectedhomeip/src/platform/ESP32/bluedroid/ESP32.BLEManagerImpl.cpp.o 
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++ -MMD -MF obj/third_party/connectedhomeip/src/platform/ESP32/bluedroid/ESP32.BLEManagerImpl.cpp.o.d -Wconversion -Os -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -Wall -Werror -Wstack-usage=8192 -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wno-deprecated-declarations -Wno-missing-field-initializers -Wno-unknown-warning-option -Wno-unused-parameter -Wno-unused -Wno-cast-function-type -Wno-psabi -Wno-maybe-uninitialized -fdiagnostics-color -fno-strict-aliasing -fmacro-prefix-map=../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/= -std=gnu++17 -fno-rtti -Wnon-virtual-dtor -DESP_PLATFORM -DLV_CONF_INCLUDE_SIMPLE -DLV_KCONFIG_IGNORE -DLV_USE_CHART=0 -DLV_USE_GIF=1 -DLV_USE_KEYBOARD=0 -DLV_USE_PERF_MONITOR=0 -DLV_USE_SNAPSHOT=1 -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/home/igor/workspace/esp/matter/ui-esp32/build/config -isystem/home/igor/esp/esp-idf/components/freertos/include/freertos -isystem/home/igor/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include/freertos -isystem/home/igor/esp/esp-idf/components/newlib/platform_include -isystem/home/igor/esp/esp-idf/components/freertos/config/include -isystem/home/igor/esp/esp-idf/components/freertos/config/include/freertos -isystem/home/igor/esp/esp-idf/components/freertos/config/xtensa/include -isystem/home/igor/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -isystem/home/igor/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -isystem/home/igor/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -isystem/home/igor/esp/esp-idf/components/freertos/esp_additions/include -isystem/home/igor/esp/esp-idf/components/esp_hw_support/include -isystem/home/igor/esp/esp-idf/components/esp_hw_support/include/soc -isystem/home/igor/esp/esp-idf/components/esp_hw_support/include/soc/esp32s3 -isystem/home/igor/esp/esp-idf/components/esp_hw_support/port/esp32s3/. -isystem/home/igor/esp/esp-idf/components/heap/include -isystem/home/igor/esp/esp-idf/components/log/include -isystem/home/igor/esp/esp-idf/components/soc/include -isystem/home/igor/esp/esp-idf/components/soc/esp32s3 -isystem/home/igor/esp/esp-idf/components/soc/esp32s3/include -isystem/home/igor/esp/esp-idf/components/hal/platform_port/include -isystem/home/igor/esp/esp-idf/components/hal/esp32s3/include -isystem/home/igor/esp/esp-idf/components/hal/include -isystem/home/igor/esp/esp-idf/components/esp_rom/include -isystem/home/igor/esp/esp-idf/components/esp_rom/include/esp32s3 -isystem/home/igor/esp/esp-idf/components/esp_rom/esp32s3 -isystem/home/igor/esp/esp-idf/components/esp_common/include -isystem/home/igor/esp/esp-idf/components/esp_system/include -isystem/home/igor/esp/esp-idf/components/esp_system/port/soc -isystem/home/igor/esp/esp-idf/components/esp_system/port/include/private -isystem/home/igor/esp/esp-idf/components/xtensa/esp32s3/include -isystem/home/igor/esp/esp-idf/components/xtensa/include -isystem/home/igor/esp/esp-idf/components/xtensa/deprecated_include -isystem/home/igor/esp/esp-idf/components/esp_timer/include -isystem/home/igor/esp/esp-idf/components/lwip/include -isystem/home/igor/esp/esp-idf/components/lwip/include/apps -isystem/home/igor/esp/esp-idf/components/lwip/include/apps/sntp -isystem/home/igor/esp/esp-idf/components/lwip/lwip/src/include -isystem/home/igor/esp/esp-idf/components/lwip/port/include -isystem/home/igor/esp/esp-idf/components/lwip/port/freertos/include -isystem/home/igor/esp/esp-idf/components/lwip/port/esp32xx/include -isystem/home/igor/esp/esp-idf/components/lwip/port/esp32xx/include/arch -isystem/home/igor/esp/esp-idf/components/lwip/port/esp32xx/include/sys -I/home/igor/workspace/esp/matter/ui-esp32/managed_components/espressif__esp_encrypted_img/include -I/home/igor/workspace/esp/matter/ui-esp32/managed_components/espressif__esp_insights/include -I/home/igor/workspace/esp/matter/ui-esp32/managed_components/espressif__esp_diagnostics/include -isystem/home/igor/esp/esp-idf/components/esp_event/include -isystem/home/igor/esp/esp-idf/components/bt/include/esp32c3/include -isystem/home/igor/esp/esp-idf/components/bt/common/osi/include -isystem/home/igor/esp/esp-idf/components/bt/common/api/include/api -isystem/home/igor/esp/esp-idf/components/bt/common/btc/profile/esp/blufi/include -isystem/home/igor/esp/esp-idf/components/bt/common/btc/profile/esp/include -isystem/home/igor/esp/esp-idf/components/bt/host/bluedroid/api/include/api -isystem/home/igor/esp/esp-idf/components/bt/porting/ext/tinycrypt/include -isystem/home/igor/esp/esp-idf/components/esp_wifi/include -isystem/home/igor/esp/esp-idf/components/esp_wifi/wifi_apps/include -isystem/home/igor/esp/esp-idf/components/esp_phy/include -isystem/home/igor/esp/esp-idf/components/esp_phy/esp32s3/include -isystem/home/igor/esp/esp-idf/components/esp_netif/include -isystem/home/igor/esp/esp-idf/components/mbedtls/port/include -isystem/home/igor/esp/esp-idf/components/mbedtls/mbedtls/include -isystem/home/igor/esp/esp-idf/components/mbedtls/mbedtls/library -isystem/home/igor/esp/esp-idf/components/mbedtls/esp_crt_bundle/include -isystem/home/igor/esp/esp-idf/components/mbedtls/mbedtls/3rdparty/everest/include -isystem/home/igor/esp/esp-idf/components/mbedtls/mbedtls/3rdparty/p256-m -isystem/home/igor/esp/esp-idf/components/mbedtls/mbedtls/3rdparty/p256-m/p256-m -isystem/home/igor/esp/esp-idf/components/fatfs/diskio -isystem/home/igor/esp/esp-idf/components/fatfs/src -isystem/home/igor/esp/esp-idf/components/fatfs/vfs -isystem/home/igor/esp/esp-idf/components/wear_levelling/include -isystem/home/igor/esp/esp-idf/components/esp_partition/include -isystem/home/igor/esp/esp-idf/components/sdmmc/include -isystem/home/igor/esp/esp-idf/components/driver/include -isystem/home/igor/esp/esp-idf/components/driver/deprecated -isystem/home/igor/esp/esp-idf/components/driver/analog_comparator/include -isystem/home/igor/esp/esp-idf/components/driver/dac/include -isystem/home/igor/esp/esp-idf/components/driver/gpio/include -isystem/home/igor/esp/esp-idf/components/driver/gptimer/include -isystem/home/igor/esp/esp-idf/components/driver/i2c/include -isystem/home/igor/esp/esp-idf/components/driver/i2s/include -isystem/home/igor/esp/esp-idf/components/driver/ledc/include -isystem/home/igor/esp/esp-idf/components/driver/mcpwm/include -isystem/home/igor/esp/esp-idf/components/driver/parlio/include -isystem/home/igor/esp/esp-idf/components/driver/pcnt/include -isystem/home/igor/esp/esp-idf/components/driver/rmt/include -isystem/home/igor/esp/esp-idf/components/driver/sdio_slave/include -isystem/home/igor/esp/esp-idf/components/driver/sdmmc/include -isystem/home/igor/esp/esp-idf/components/driver/sigma_delta/include -isystem/home/igor/esp/esp-idf/components/driver/spi/include -isystem/home/igor/esp/esp-idf/components/driver/temperature_sensor/include -isystem/home/igor/esp/esp-idf/components/driver/touch_sensor/include -isystem/home/igor/esp/esp-idf/components/driver/twai/include -isystem/home/igor/esp/esp-idf/components/driver/uart/include -isystem/home/igor/esp/esp-idf/components/driver/usb_serial_jtag/include -isystem/home/igor/esp/esp-idf/components/driver/touch_sensor/esp32s3/include -isystem/home/igor/esp/esp-idf/components/esp_pm/include -isystem/home/igor/esp/esp-idf/components/esp_ringbuf/include -isystem/home/igor/esp/esp-idf/components/app_update/include -isystem/home/igor/esp/esp-idf/components/bootloader_support/include -isystem/home/igor/esp/esp-idf/components/bootloader_support/bootloader_flash/include -isystem/home/igor/esp/esp-idf/components/esp_app_format/include -isystem/home/igor/esp/esp-idf/components/esp_bootloader_format/include -isystem/home/igor/esp/esp-idf/components/console -isystem/home/igor/esp/esp-idf/components/vfs/include -isystem/home/igor/esp/esp-idf/components/nvs_flash/include -isystem/home/igor/esp/esp-idf/components/spi_flash/include -I/home/igor/workspace/esp/matter/ui-esp32/managed_components/espressif__mdns/include -I/home/igor/workspace/esp/matter/ui-esp32/managed_components/espressif__esp_secure_cert_mgr/include -isystem/home/igor/esp/esp-idf/components/efuse/include -isystem/home/igor/esp/esp-idf/components/efuse/esp32s3/include -mlongcalls -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 -Og -fno-shrink-wrap -fmacro-prefix-map=/home/igor/workspace/esp/matter/ui-esp32=. -fmacro-prefix-map=/home/igor/esp/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -Wno-error=uninitialized -Wno-error=maybe-uninitialized -Wno-missing-field-initializers -Wno-error=array-bounds -Wno-write-strings -Wno-format-nonliteral -Wno-format-security -std=gnu++2b -fno-exceptions -fno-rtti -std=gnu++17 -Os -DCHIP_HAVE_CONFIG_H -I/home/igor/workspace/esp/matter/ui-esp32/build/config -DCHIP_CONFIG_SOFTWARE_VERSION_NUMBER=1 -DNDEBUG -DCHIP_HAVE_CONFIG_H=1 -I../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include -I../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src -Igen/include -I../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/zzz_generated/app-common -I../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/third_party/nlassert/repo/include -I../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/third_party/nlio/repo/include -c ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp -o obj/third_party/connectedhomeip/src/platform/ESP32/bluedroid/ESP32.BLEManagerImpl.cpp.o
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:155:34: error: 'constexpr const chip::System::Clock::Timeout chip::DeviceLayer::Internal::BLEManagerImpl::kFastAdvertiseTimeout' is not a static data member of 'class chip::DeviceLayer::Internal::BLEManagerImpl'
  155 | constexpr System::Clock::Timeout BLEManagerImpl::kFastAdvertiseTimeout;
      |                                  ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:155:34: error: uninitialized 'const chip::DeviceLayer::Internal::BLEManagerImpl::kFastAdvertiseTimeout' [-fpermissive]
In file included from /home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/chrono:41,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemClock.h:43,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemLayer.h:36,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/core/CHIPCore.h:30,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/CHIPDeviceLayer.h:25,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/CHIPDeviceLayerInternal.h:22,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:26:
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:523:13: note: 'const chip::System::Clock::Timeout' {aka 'const class std::chrono::duration<long unsigned int, std::ratio<1, 1000> >'} has no user-provided default constructor
  523 |       class duration
      |             ^~~~~~~~
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:575:19: note: constructor is not user-provided because it is explicitly defaulted in the class body
  575 |         constexpr duration() = default;
      |                   ^~~~~~~~
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:696:13: note: and the implicitly-defined constructor does not initialize 'std::chrono::duration<long unsigned int, std::ratio<1, 1000> >::rep std::chrono::duration<long unsigned int, std::ratio<1, 1000> >::__r'
  696 |         rep __r;
      |             ^~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp: In member function 'CHIP_ERROR chip::DeviceLayer::Internal::BLEManagerImpl::_SetAdvertisingEnabled(bool)':
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:246:9: error: 'mAdvertiseStartTime' was not declared in this scope
  246 |         mAdvertiseStartTime = System::SystemClock().GetMonotonicTimestamp();
      |         ^~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:246:9: note: maximum limit of 1000 namespaces searched for 'mAdvertiseStartTime'
In file included from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemLayer.h:33:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:247:68: error: 'kFastAdvertiseTimeout' was not declared in this scope
  247 |         ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
      |                                                                    ^~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:175:23: note: in definition of macro 'ReturnErrorOnFailure'
  175 |         auto __err = (expr);                                                                                                       \
      |                       ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:247:68: note: maximum limit of 1000 namespaces searched for 'kFastAdvertiseTimeout'
  247 |         ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
      |                                                                    ^~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:175:23: note: in definition of macro 'ReturnErrorOnFailure'
  175 |         auto __err = (expr);                                                                                                       \
      |                       ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:247:91: error: 'HandleFastAdvertisementTimer' was not declared in this scope
  247 |         ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:175:23: note: in definition of macro 'ReturnErrorOnFailure'
  175 |         auto __err = (expr);                                                                                                       \
      |                       ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:247:91: note: maximum limit of 1000 namespaces searched for 'HandleFastAdvertisementTimer'
  247 |         ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
      |                                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:175:23: note: in definition of macro 'ReturnErrorOnFailure'
  175 |         auto __err = (expr);                                                                                                       \
      |                       ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp: At global scope:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:257:6: error: no declaration matches 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer(chip::System::Layer*, void*)'
  257 | void BLEManagerImpl::HandleFastAdvertisementTimer(System::Layer * systemLayer, void * context)
      |      ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:257:6: note: no functions named 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer(chip::System::Layer*, void*)'
In file included from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/BLEManager.h:106,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/GenericConnectivityManagerImpl_BLE.h:27,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/ConnectivityManagerImpl.h:45,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/ConnectivityManager.h:308,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/ConfigurationManagerImpl.h:28,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/ConfigurationManager.h:231,
                 from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/CHIPDeviceLayer.h:27:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/BLEManagerImpl.h:125:7: note: 'class chip::DeviceLayer::Internal::BLEManagerImpl' defined here
  125 | class BLEManagerImpl final : public BLEManager,
      |       ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:262:6: error: no declaration matches 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer()'
  262 | void BLEManagerImpl::HandleFastAdvertisementTimer()
      |      ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:262:6: note: no functions named 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer()'
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/BLEManagerImpl.h:125:7: note: 'class chip::DeviceLayer::Internal::BLEManagerImpl' defined here
  125 | class BLEManagerImpl final : public BLEManager,
      |       ^~~~~~~~~~~~~~
cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics
[217/474] c++ obj/third_party/connectedhomeip/zzz_generated/app-common/app-common/zap-generated/libClusterObjects.cluster-objects.cpp.o
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /home/igor/workspace/esp/matter/ui-esp32/build/log/idf_py_stderr_output_31119 and /home/igor/workspace/esp/matter/ui-esp32/build/log/idf_py_stdout_output_31119

@VaishaliAvhale
Copy link
Contributor

Hi @igorLjubinGorenjeCom,I was able to reproduce this issue, and we are currently working on it.

@igorLjubinGorenjeCom
Copy link
Author

Would it be possible to provide us with any time frame on this?

@shripad621git
Copy link
Contributor

@igorLjubinGorenjeCom , we have been able to resolve the build issue ,but we are encountering few bluedroid specific issues after flashing the application. We will get back to you once the issue is resolved.

@shripad621git
Copy link
Contributor

@igorLjubinGorenjeCom , can you please apply the patch below to resolve your issue.
Please apply this patch at esp-matter/connectedhomeip/connectedhomeip path.
Along with the patch please set the two options using idf.py menuconfig:

CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_BT_BLE_50_FEATURES_SUPPORTED=n

bluedroid.txt

@dhrishi
Copy link
Collaborator

dhrishi commented Jun 20, 2024

@igorLjubinGorenjeCom Can you please confirm if the patch works fine?

@igorLjubinGorenjeCom
Copy link
Author

Dear @dhrishi the code is building and operational. Thank you!

Could I be building this code in an docker environment (I would like to have hardware in the loop testing)?

@shripad621git
Copy link
Contributor

shripad621git commented Jul 29, 2024

@igorLjubinGorenjeCom , you can apply this patch in a docker environment as well.
You can run the application in a docker environment. While running the docker image, please provide --device=<port> option to provide port access to the docker image.

@igorLjubinGorenjeCom
Copy link
Author

Similar problem on 1.3
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:150:34: error: 'constexpr const chip::System::Clock::Timeout chip::DeviceLayer::Internal::BLEManagerImpl::kFastAdvertiseTimeout' is not a static data member of 'class chip::DeviceLayer::Internal::BLEManagerImpl'
150 | constexpr System::Clock::Timeout BLEManagerImpl::kFastAdvertiseTimeout;
| ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:150:34: error: uninitialized 'const chip::DeviceLayer::Internal::BLEManagerImpl::kFastAdvertiseTimeout' [-fpermissive]
In file included from /home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/chrono:41,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemClock.h:43,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemLayer.h:39,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/core/CHIPCore.h:30,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/CHIPDeviceLayer.h:25,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/CHIPDeviceLayerInternal.h:22,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:26:
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:523:13: note: 'const chip::System::Clock::Timeout' {aka 'const class std::chrono::duration<long unsigned int, std::ratio<1, 1000> >'} has no user-provided default constructor
523 | class duration
| ^~~~~~~~
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:575:19: note: constructor is not user-provided because it is explicitly defaulted in the class body
575 | constexpr duration() = default;
| ^~~~~~~~
/home/igor/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/chrono.h:696:13: note: and the implicitly-defined constructor does not initialize 'std::chrono::duration<long unsigned int, std::ratio<1, 1000> >::rep std::chrono::duration<long unsigned int, std::ratio<1, 1000> >::__r'
696 | rep __r;
| ^~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp: In member function 'CHIP_ERROR chip::DeviceLayer::Internal::BLEManagerImpl::_SetAdvertisingEnabled(bool)':
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:239:9: error: 'mAdvertiseStartTime' was not declared in this scope
239 | mAdvertiseStartTime = System::SystemClock().GetMonotonicTimestamp();
| ^~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:239:9: note: maximum limit of 1000 namespaces searched for 'mAdvertiseStartTime'
In file included from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/system/SystemLayer.h:36:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:240:68: error: 'kFastAdvertiseTimeout' was not declared in this scope
240 | ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
| ^~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:176:23: note: in definition of macro 'ReturnErrorOnFailure'
176 | auto __err = (expr);
| ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:240:68: note: maximum limit of 1000 namespaces searched for 'kFastAdvertiseTimeout'
240 | ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
| ^~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:176:23: note: in definition of macro 'ReturnErrorOnFailure'
176 | auto __err = (expr);
| ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:240:91: error: 'HandleFastAdvertisementTimer' was not declared in this scope
240 | ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:176:23: note: in definition of macro 'ReturnErrorOnFailure'
176 | auto __err = (expr);
| ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:240:91: note: maximum limit of 1000 namespaces searched for 'HandleFastAdvertisementTimer'
240 | ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/lib/support/CodeUtils.h:176:23: note: in definition of macro 'ReturnErrorOnFailure'
176 | auto __err = (expr);
| ^~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp: At global scope:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:250:6: error: no declaration matches 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer(chip::System::Layer*, void*)'
250 | void BLEManagerImpl::HandleFastAdvertisementTimer(System::Layer * systemLayer, void * context)
| ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:250:6: note: no functions named 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer(chip::System::Layer*, void*)'
In file included from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/BLEManager.h:106,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/internal/GenericConnectivityManagerImpl_BLE.h:27,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/ConnectivityManagerImpl.h:46,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/ConnectivityManager.h:323,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/ConfigurationManagerImpl.h:30,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/ConfigurationManager.h:231,
from ../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/include/platform/CHIPDeviceLayer.h:27:
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/BLEManagerImpl.h:123:7: note: 'class chip::DeviceLayer::Internal::BLEManagerImpl' defined here
123 | class BLEManagerImpl final : public BLEManager,
| ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:255:6: error: no declaration matches 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer()'
255 | void BLEManagerImpl::HandleFastAdvertisementTimer()
| ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:255:6: note: no functions named 'void chip::DeviceLayer::Internal::BLEManagerImpl::HandleFastAdvertisementTimer()'
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/BLEManagerImpl.h:123:7: note: 'class chip::DeviceLayer::Internal::BLEManagerImpl' defined here
123 | class BLEManagerImpl final : public BLEManager,
| ^~~~~~~~~~~~~~
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp: In member function 'virtual CHIP_ERROR chip::DeviceLayer::Internal::BLEManagerImpl::SendIndication(uint16_t, const chip::Ble::ChipBleUUID*, const chip::Ble::ChipBleUUID*, chip::System::PacketBufferHandle)':
../../../../../../../esp/esp-matter/connectedhomeip/connectedhomeip/config/esp32/third_party/connectedhomeip/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp:847:87: error: conversion from 'size_t' {aka 'unsigned int'} to 'uint16_t' {aka 'short unsigned int'} may change value [-Werror=conversion]
847 | esp_ble_gatts_send_indicate(mAppIf, conId, mTXCharAttrHandle, data->DataLength(), data->Start(), true /* need_confirm */));
| ~~~~~~~~~~~~~~~~^~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics
cc1plus: all warnings being treated as errors
[342/513] c++ obj/third_party/connectedhomeip/zzz_generated/app-common/app-common/zap-generated/libClusterObjects.cluster-objects.cpp.o
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /home/igor/workspace/esp/matter/ui-esp32/build/log/idf_py_stderr_output_6402 and /home/igor/workspace/esp/matter/ui-esp32/build/log/idf_py_stdout_output_6402

@igorLjubinGorenjeCom
Copy link
Author

@shripad621git

We would like to switch to Matter 1.3 but the problem persists when utilizing the Bluedroid. Since this issue is not closed, I believe that suggested changes have not been merged to the main branch.

For your information the suggested patch (see above) does not apply after the commit f4363a016e
commit f4363a016e3001638abeeb9048ad943c4953f905 (HEAD)
Author: shripad621git 79364691+shripad621git@users.noreply.github.com
Date: Thu Jun 27 16:56:27 2024 +0530

Fix the hardware mac address isssue for thread network (#34081) (#34106)

Can you, please, give us, any prediction on this? Is Bluedroid an option for the future?

@shubhamdp
Copy link
Contributor

Can you please try the patch from project-chip/connectedhomeip#34133.
Please apply matter-bluedroid.patch on top of that PR.

cd /path/to/esp-matter/connectedhomeip/connectedhomeip
curl https://patch-diff.githubusercontent.com/raw/project-chip/connectedhomeip/pull/34133.patch | git apply
git apply matter-bluedroid.patch

In menuconfig you'll need to enable CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y option.

Please let us know if you face any problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants