From b46aec31f474deee2db43d76ebd5de32f7f27161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Mon, 7 Sep 2026 10:45:17 +0200 Subject: [PATCH] fix(rp2xx0): ignore iLabs_Hearth so Pico targets build again (#11757) arduino-pico gained a bundled iLabs_Hearth library that supplies its own Preferences.h. NodeDB.cpp includes inside an ARCH_ESP32 guard, and the library dependency finder runs in chain mode, which matches include directives without evaluating the preprocessor. It therefore pulls the library into every Pico build, and Hearth.cpp refuses to compile on a board that does not define ESP_SERIAL_PORT: iLabs_Hearth/src/Hearth.cpp:121:2: error: #error "iLabs Hearth requires a board variant that defines ESP_SERIAL_PORT ..." The library only reaches the build because the platform resolves framework-arduinopico from an arduino-pico master commit; the platform_packages entry here pins the name arduino-pico, which is a different package and does not override it. Ignoring the library is enough, since no Pico target uses Matter. The sibling iLabs_ESP-NOW ships ESP32_NOW.h and ATLink.h, which nothing includes, so it needs no entry. --- variants/rp2040/rp2040.ini | 3 +++ variants/rp2350/rp2350.ini | 3 +++ 2 files changed, 6 insertions(+) diff --git a/variants/rp2040/rp2040.ini b/variants/rp2040/rp2040.ini index 7be150e92..aec2a13b3 100644 --- a/variants/rp2040/rp2040.ini +++ b/variants/rp2040/rp2040.ini @@ -25,6 +25,9 @@ build_src_filter = lib_ignore = BluetoothOTA lvgl + ; Ships its own Preferences.h, which the LDF matches against the ARCH_ESP32-only + ; include in NodeDB.cpp; compiling it then trips its own "not a Challenger" #error. + iLabs_Hearth lib_deps = ${arduino_base.lib_deps} diff --git a/variants/rp2350/rp2350.ini b/variants/rp2350/rp2350.ini index 0705ed8ec..d4965fb37 100644 --- a/variants/rp2350/rp2350.ini +++ b/variants/rp2350/rp2350.ini @@ -22,6 +22,9 @@ build_src_filter = lib_ignore = BluetoothOTA lvgl + ; Ships its own Preferences.h, which the LDF matches against the ARCH_ESP32-only + ; include in NodeDB.cpp; compiling it then trips its own "not a Challenger" #error. + iLabs_Hearth lib_deps = ${arduino_base.lib_deps}