Hello everyone. I am trying to build the switch example for an ESP32P4 board, but compilation fails with a weird error:
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:621:13: error: label 'rmaker_en
' used but not defined
621 | goto rmaker_end;
| ^~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c: At top level:
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:660:18: error: expected '=', ','
, ';', 'asm' or '__attribute__' before '|=' token
660 | network_bits |= ETHERNET_CONNECTED_EVENT;
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:663:5: error: expected identifie
r or '(' before 'if'
663 | if (network_bits != 0 && !already_connected) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:671:64: error: expected ')' befo
re '&' token
671 | esp_event_handler_unregister(IP_EVENT, IP_EVENT_ETH_GOT_IP, &esp_rmaker_event_handler);
| ^~
| )
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:674:5: error: expected identifie
r or '(' before 'if'
674 | if (esp_rmaker_priv_data->enable_time_sync) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:692:5: error: expected identifie
r or '(' before 'if'
692 | if (esp_rmaker_priv_data->need_claim || esp_rmaker_priv_data->claim_done) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: warning: data definition
has no type or storage class
709 | err = esp_rmaker_cmd_response_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: error: type defaults to
int' in declaration of 'err' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:15: error: initializer eleme
nt is not constant
709 | err = esp_rmaker_cmd_response_enable();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:710:9: error: expected identifie
r or '(' before 'if'
710 | if (err != ESP_OK) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:714:39: error: expected declarat
ion specifiers or '...' before 'esp_rmaker_get_node'
714 | esp_rmaker_node_add_attribute(esp_rmaker_get_node(), "cmd-resp", "1");
| ^~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:714:62: error: expected declarat
ion specifiers or '...' before string constant
714 | esp_rmaker_node_add_attribute(esp_rmaker_get_node(), "cmd-resp", "1");
| ^~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:714:74: error: expected declarat
ion specifiers or '...' before string constant
714 | esp_rmaker_node_add_attribute(esp_rmaker_get_node(), "cmd-resp", "1");
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:717:9: warning: data definition
has no type or storage class
717 | err = esp_rmaker_param_cmd_resp_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:717:9: error: type defaults to
int' in declaration of 'err' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:717:9: error: redefinition of 'e
rr'
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: note: previous definition
of 'err' with type 'int'
709 | err = esp_rmaker_cmd_response_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:717:15: error: initializer eleme
nt is not constant
717 | err = esp_rmaker_param_cmd_resp_enable();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:718:9: error: expected identifie
r or '(' before 'if'
718 | if (err != ESP_OK) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:728:5: warning: data definition
has no type or storage class
728 | err = esp_rmaker_local_ctrl_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:728:5: error: type defaults to
int' in declaration of 'err' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:728:5: error: redefinition of 'e
rr'
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: note: previous definition
of 'err' with type 'int'
709 | err = esp_rmaker_cmd_response_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:728:11: error: initializer eleme
nt is not constant
728 | err = esp_rmaker_local_ctrl_enable();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:729:5: error: expected identifie
r or '(' before 'if'
729 | if (err != ESP_OK) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:734:5: warning: data definition
has no type or storage class
734 | err = esp_rmaker_mqtt_connect();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:734:5: error: type defaults to
int' in declaration of 'err' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:734:5: error: redefinition of 'e
rr'
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: note: previous definition
of 'err' with type 'int'
709 | err = esp_rmaker_cmd_response_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:734:11: error: initializer eleme
nt is not constant
734 | err = esp_rmaker_mqtt_connect();
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:735:5: error: expected identifie
r or '(' before 'if'
735 | if (err != ESP_OK) {
| ^~
In file included from /home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:13:
/home/maldus/Source/Espressif/esp-idf-v5.5/components/log/include/esp_log.h:127:36: error: expected identifier or '(' before 'do'
127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:744:5: note: in expansion of mac
ro 'ESP_LOGI'
744 | ESP_LOGI(TAG, "Waiting for MQTT connection");
| ^~~~~~~~
/home/maldus/Source/Espressif/esp-idf-v5.5/components/log/include/esp_log.h:127:106: error: expected identifier or '(' before 'while'
127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
| ^~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:744:5: note: in expansion of mac
ro 'ESP_LOGI'
744 | ESP_LOGI(TAG, "Waiting for MQTT connection");
| ^~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:745:5: warning: data definition
has no type or storage class
745 | err = ESP_OK;
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:745:5: error: type defaults to
int' in declaration of 'err' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:745:5: error: redefinition of 'e
rr'
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:709:9: note: previous definition
of 'err' with type 'int'
709 | err = esp_rmaker_cmd_response_enable();
| ^~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:747:11: error: expected '=', ','
, ';', 'asm' or '__attribute__' before ':' token
747 | rmaker_end:
| ^
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:751:5: warning: data definition
has no type or storage class
751 | rmaker_core_event_group = NULL;
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:751:5: error: type defaults to
int' in declaration of 'rmaker_core_event_group' [-Wimplicit-int]
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:751:5: error: conflicting types
for 'rmaker_core_event_group'; have 'int'
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:58:27: note: previous declaratio
n of 'rmaker_core_event_group' with type 'EventGroupHandle_t' {aka 'struct EventGroupDef_t *'}
58 | static EventGroupHandle_t rmaker_core_event_group;
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:752:5: error: expected identifie
r or '(' before 'if'
752 | if (err == ESP_OK) {
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:755:25: error: expected '=', ','
, ';', 'asm' or '__attribute__' before '->' token
755 | esp_rmaker_priv_data->state = ESP_RMAKER_STATE_INIT_DONE;
| ^~
/home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/components/esp_rainmaker/src/core/esp_rmaker_core.c:756:1: error: expected identifie
r or '(' before '}' token
756 | }
| ^
[1184/1324] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.53.0")
-- Minimal build - OFF
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/maldus/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/maldus/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/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: /home/maldus/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32p4
-- ESP-TEE is currently supported only on the esp32c6;esp32h2;esp32c5 SoCs
-- Project sdkconfig file /home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/examples/switch/sdkconfig
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/riscv/ld/rom.api.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/soc/esp32p4/ld/esp32p4.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.api.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.rvfp.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.wdt.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.systimer.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.version.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.libc.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.libc-suboptimal_for_misaligned_mem.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_rom/esp32p4/ld/esp32p4.rom.newlib.ld
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/bootloader/subproject/main/ld/esp32p4/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_security esp_system esptool_py freertos hal log
main micro-ecc newlib partition_table riscv soc spi_flash
-- Component paths: /home/maldus/Source/Espressif/esp-idf-v5.5/components/bootloader /home/maldus/Source/Espressif/esp-idf-v5.5/components/bootloader_support /home/maldus/So
urce/Espressif/esp-idf-v5.5/components/efuse /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_app_format /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_b
ootloader_format /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_common /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_hw_support /home/maldus/Source/Es
pressif/esp-idf-v5.5/components/esp_rom /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_security /home/maldus/Source/Espressif/esp-idf-v5.5/components/esp_system /
home/maldus/Source/Espressif/esp-idf-v5.5/components/esptool_py /home/maldus/Source/Espressif/esp-idf-v5.5/components/freertos /home/maldus/Source/Espressif/esp-idf-v5.5/com
ponents/hal /home/maldus/Source/Espressif/esp-idf-v5.5/components/log /home/maldus/Source/Espressif/esp-idf-v5.5/components/bootloader/subproject/main /home/maldus/Source/Es
pressif/esp-idf-v5.5/components/bootloader/subproject/components/micro-ecc /home/maldus/Source/Espressif/esp-idf-v5.5/components/newlib /home/maldus/Source/Espressif/esp-idf
-v5.5/components/partition_table /home/maldus/Source/Espressif/esp-idf-v5.5/components/riscv /home/maldus/Source/Espressif/esp-idf-v5.5/components/soc /home/maldus/Source/Es
pressif/esp-idf-v5.5/components/spi_flash
-- Adding linker script /home/maldus/Source/Espressif/esp-idf-v5.5/components/bootloader/subproject/main/ld/esp32p4/bootloader.ld
-- Configuring done (3.7s)
-- Generating done (0.0s)
-- Build files have been written to: /home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/examples/switch/build/bootloader
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/examples/switch/build
/log/idf_py_stderr_output_170336 and /home/maldus/Projects/HSW/Rotondi/RTND-display-controllo-remoto/components/esp-rainmaker/examples/switch/build/log/idf_py_stdout_output_
170336
I am using ESP-IDF v5.5 (release branch, up to date).
I noticed the ESP32P4 module isn't listed as supported in the README. Is it something foreseen to be added at some point? Is it actually missing, or am I not seeing the real source of the problem?
Answers checklist.
General issue report
Hello everyone. I am trying to build the
switchexample for an ESP32P4 board, but compilation fails with a weird error:I am using ESP-IDF v5.5 (release branch, up to date).
I noticed the ESP32P4 module isn't listed as supported in the README. Is it something foreseen to be added at some point? Is it actually missing, or am I not seeing the real source of the problem?