Closed NatDevzl closed 1 year ago
Solutions regarding esp_timer issues: In dns folder I added esp_timer to PRIV_REQUIRES in CMakeLists.txt In lists folder also added esp_timer to PRIV_REQUIRES in CMakeLists.txt and added #include "esp_timer.h" to lists.cpp and dns.cpp
Solutions regarding esp_partition and vfs issue: In littlefs folder add "PRIV_REQUIRES esp_partition vfs" on a new line after "REQUIRES spi_flash" in CMakeLists.txt
Solutions regarding formatting issues: In line 142 in dns.cpp I changed ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); to ESP_LOGV(TAG, "TTL (%.8lX)", records[i].ttl);
Solution for esp_log formatting problems: Add idf_build_set_property(COMPILE_OPTIONS "-Wno-format-nonliteral;-Wno-format-security;-Wformat=0" APPEND) in CMakeLists.txt of dns folder
After this I got these following errors:
C:/Users/Nat/Documents/esper/software/firmware/components/netif/include/wifi.h:5:10: fatal error: esp_wifi.h: No such file or directory 5 | #include "esp_wifi.h"
C:/Users/Nat/Documents/esper/software/firmware/components/netif/include/eth.h:5:10: fatal error: esp_eth.h: No such file or directory
5 | #include "esp_eth.h"
| ^~~
C:/Users/Nat/Documents/esper/software/firmware/components/gpio/gpio.cpp:10:10: fatal error: driver/gpio.h: No such file or directory
10 | #include "driver/gpio.h"
| ^~~~~~~
C:/Users/Nat/Documents/esper/software/firmware/components/netif/wifi.cpp:78:38: error: expected ')' before 'MACSTR'
78 | ESP_LOGI(TAG, "station " MACSTR " join, AID=%d", MAC2STR(event->mac), event->aid);
| ^~
C:/Users/Nat/Documents/esper/software/firmware/components/netif/wifi.cpp:78:62: error: 'MAC2STR' was not
declared in this scope
78 | ESP_LOGI(TAG, "station " MACSTR " join, AID=%d", MAC2STR(event->mac), event->aid);
C:/Users/Nat/Documents/esper/software/firmware/components/ota/ota.cpp:161:36: error: 'esp_image_header_t' was not declared in this scope
161 | if (data_read < sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t) + sizeof(esp_app_desc_t))
| ^~~~~~
C:/Users/Nat/Documents/esper/software/firmware/components/ota/ota.cpp:161:65: error: 'esp_image_segment_header_t' was not declared in this scope
161 | if (data_read < sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t) + sizeof(esp_app_desc_t))
| ^~~~~~
C:/Users/Nat/Documents/esper/software/firmware/components/ota/ota.cpp:168:50: error: 'esp_image_header_t' was not declared in this scope
168 | memcpy(&new_app_info, &buffer[sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t)], sizeof(esp_app_desc_t));
| ^~~~~~
C:/Users/Nat/Documents/esper/software/firmware/components/ota/ota.cpp:168:79: error: 'esp_image_segment_header_t' was not declared in this scope
168 | memcpy(&new_app_info, &buffer[sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t)], sizeof(esp_app_desc_t));
| ^~~~~~
| ^~~
Solutions for esp_wifi.h and esp_eth.h issues: Add esp_wifi esp_eth to PRIV_REQUIRES in the CMakeListis.txt of netif folder
Solution for driver/gpio.h issue: Add "REQUIRES driver" as a new line after "INCLUDE_DIRS ".""
Solution for MACSTR and MA2CSTR errors: Add #include #include "esp_mac.h" to wifi.cpp Add esp_hw_support to PRIV_REQUIRES in CMakeListis.txt of netif folder
Solutions for esp_image_header_t and esp_image_segment_header_t errors: Add #include "esp_image_format.h" to ota.cpp
When building the project, I encounter the following errors and warnings:
Executing action: all (aliases: build) Running ninja in directory c:\users\nat\documents\esper\software\firmware\build Executing "ninja all"... [57/903] Generating ../../partition_table/partition-table.binPartition table binary generated. Contents:
ESP-IDF Partition Table
Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,16K, otadata,data,ota,0xd000,8K, phy_init,data,phy,0xf000,4K, ota_0,app,ota_0,0x10000,1152K, ota_1,app,ota_1,0x130000,1152K, spiffs,data,spiffs,0x250000,1728K,
[846/903] Building C object esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/littlefs_api.c.objFAILED: esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/littlefs_api.c.obj ccache C:\Users\Nat.espressif\tools\xtensa-esp32-elf\esp-2022r1-11.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -IC:/Users/Nat/Documents/esper/software/firmware/build/config -IC:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src -IC:/Users/Nat/Documents/esper/software/firmware/components/littlefs/include -IC:/Users/Nat/esp/components/newlib/platform_include -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include/freertos -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include -IC:/Users/Nat/esp/components/esp_hw_support/include -IC:/Users/Nat/esp/components/esp_hw_support/include/soc -IC:/Users/Nat/esp/components/esp_hw_support/include/soc/esp32 -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/. -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/private_include -IC:/Users/Nat/esp/components/heap/include -IC:/Users/Nat/esp/components/log/include -IC:/Users/Nat/esp/components/soc/include -IC:/Users/Nat/esp/components/soc/esp32/. -IC:/Users/Nat/esp/components/soc/esp32/include -IC:/Users/Nat/esp/components/hal/esp32/include -IC:/Users/Nat/esp/components/hal/include -IC:/Users/Nat/esp/components/hal/platform_port/include -IC:/Users/Nat/esp/components/esp_rom/include -IC:/Users/Nat/esp/components/esp_rom/include/esp32 -IC:/Users/Nat/esp/components/esp_rom/esp32 -IC:/Users/Nat/esp/components/esp_common/include -IC:/Users/Nat/esp/components/esp_system/include -IC:/Users/Nat/esp/components/esp_system/port/soc -IC:/Users/Nat/esp/components/esp_system/port/include/private -IC:/Users/Nat/esp/components/xtensa/include -IC:/Users/Nat/esp/components/xtensa/esp32/include -IC:/Users/Nat/esp/components/lwip/include -IC:/Users/Nat/esp/components/lwip/include/apps -IC:/Users/Nat/esp/components/lwip/include/apps/sntp -IC:/Users/Nat/esp/components/lwip/lwip/src/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include/arch -IC:/Users/Nat/esp/components/spi_flash/include -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Users/Nat/Documents/esper/software/firmware=. -fmacro-prefix-map=C:/Users/Nat/esp=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0.1\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/littlefs_api.c.obj -MF esp-idf\littlefs\CMakeFiles__idf_littlefs.dir\src\littlefs_api.c.obj.d -o esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/littlefs_api.c.obj -c C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/littlefs_api.c C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/littlefs_api.c:10:10: fatal error: esp_partition.h: No such file or directory 10 | #include "esp_partition.h" | ^ Question::serialize()
| ^
In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1:
C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:59:40: note: previous declaration here
59 | IRAM_ATTR std::vector serialize();
| ^ ResourceRecord::serialize()
| ^
In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1:
C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:70:40: note: previous declaration here
70 | IRAM_ATTR std::vector serialize();
| ^ buffer, int index, std::vector name)
| ^
In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1:
C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:75:29: note: previous declaration here
75 | IRAM_ATTR esp_err_t unpack_name(std::vector buffer, int index, std::vector name);
| ^ buffer, int index, size_t size, std::vector dest)
| ^
In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1:
C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:76:29: note: previous declaration here
76 | IRAM_ATTR esp_err_t unpack_vector(std::vector buffer, int index, size_t size, std::vector dest);
| ^ buffer, sockaddrin addr, socklent addrlen)
| ^
In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1:
C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:88:19: note: previous declaration here
88 | IRAM_ATTR DNS(std::vector buffer, sockaddrin addr, socklent addrlen);
| ^~~
C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp: In constructor 'DNS::DNS(std::vector , sockaddr_in, socklen_t)':
C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:91:22: error: 'esp_timer_get_time' was not declared in this scope; did you mean 'timer_gettime'?
91 | recv_timestamp = esp_timer_get_time();
| ^ header file).
HINT: All the Partition APIs have been moved to the new component 'esp_partition' - please, update your project dependencies. See Storage migration guide 5.x for more details.
ninja failed with exit code 1, output of the command is in the c:\users\nat\documents\esper\software\firmware\build\log\idf_py_stderr_output_3020 and c:\users\nat\documents\esper\software\firmware\build\log\idf_py_stdout_output_3020
~~~~ compilation terminated. [847/903] Performing configure step for 'bootloader'-- Building ESP-IDF components for target esp32 -- Project sdkconfig file C:/Users/Nat/Documents/esper/software/firmware/sdkconfig -- Adding linker script C:/Users/Nat/esp/components/soc/esp32/ld/esp32.peripherals.ld -- App "bootloader" version: v5.0.1 -- Adding linker script C:/Users/Nat/esp/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script C:/Users/Nat/esp/components/esp_rom/esp32/ld/esp32.rom.api.ld -- Adding linker script C:/Users/Nat/esp/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script C:/Users/Nat/esp/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld -- Adding linker script C:/Users/Nat/esp/components/bootloader/subproject/main/ld/esp32/bootloader.ld -- Adding linker script C:/Users/Nat/esp/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld -- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa -- Component paths: C:/Users/Nat/esp/components/bootloader C:/Users/Nat/esp/components/bootloader_support C:/Users/Nat/esp/components/efuse C:/Users/Nat/esp/components/esp_app_format C:/Users/Nat/esp/components/esp_common C:/Users/Nat/esp/components/esp_hw_support C:/Users/Nat/esp/components/esp_rom C:/Users/Nat/esp/components/esp_system C:/Users/Nat/esp/components/esptool_py C:/Users/Nat/esp/components/freertos C:/Users/Nat/esp/components/hal C:/Users/Nat/esp/components/log C:/Users/Nat/esp/components/bootloader/subproject/main C:/Users/Nat/esp/components/bootloader/subproject/components/micro-ecc C:/Users/Nat/esp/components/newlib C:/Users/Nat/esp/components/partition_table C:/Users/Nat/esp/components/soc C:/Users/Nat/esp/components/spi_flash C:/Users/Nat/esp/components/xtensa -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Nat/Documents/esper/software/firmware/build/bootloader [848/903] Building C object esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/esp_littlefs.c.objFAILED: esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/esp_littlefs.c.obj ccache C:\Users\Nat.espressif\tools\xtensa-esp32-elf\esp-2022r1-11.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -IC:/Users/Nat/Documents/esper/software/firmware/build/config -IC:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src -IC:/Users/Nat/Documents/esper/software/firmware/components/littlefs/include -IC:/Users/Nat/esp/components/newlib/platform_include -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include/freertos -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include -IC:/Users/Nat/esp/components/esp_hw_support/include -IC:/Users/Nat/esp/components/esp_hw_support/include/soc -IC:/Users/Nat/esp/components/esp_hw_support/include/soc/esp32 -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/. -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/private_include -IC:/Users/Nat/esp/components/heap/include -IC:/Users/Nat/esp/components/log/include -IC:/Users/Nat/esp/components/soc/include -IC:/Users/Nat/esp/components/soc/esp32/. -IC:/Users/Nat/esp/components/soc/esp32/include -IC:/Users/Nat/esp/components/hal/esp32/include -IC:/Users/Nat/esp/components/hal/include -IC:/Users/Nat/esp/components/hal/platform_port/include -IC:/Users/Nat/esp/components/esp_rom/include -IC:/Users/Nat/esp/components/esp_rom/include/esp32 -IC:/Users/Nat/esp/components/esp_rom/esp32 -IC:/Users/Nat/esp/components/esp_common/include -IC:/Users/Nat/esp/components/esp_system/include -IC:/Users/Nat/esp/components/esp_system/port/soc -IC:/Users/Nat/esp/components/esp_system/port/include/private -IC:/Users/Nat/esp/components/xtensa/include -IC:/Users/Nat/esp/components/xtensa/esp32/include -IC:/Users/Nat/esp/components/lwip/include -IC:/Users/Nat/esp/components/lwip/include/apps -IC:/Users/Nat/esp/components/lwip/include/apps/sntp -IC:/Users/Nat/esp/components/lwip/lwip/src/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include/arch -IC:/Users/Nat/esp/components/spi_flash/include -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Users/Nat/Documents/esper/software/firmware=. -fmacro-prefix-map=C:/Users/Nat/esp=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu17 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v5.0.1\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/littlefs/CMakeFiles/idf_littlefs.dir/src/esp_littlefs.c.obj -MF esp-idf\littlefs\CMakeFiles__idf_littlefs.dir\src\esp_littlefs.c.obj.d -o esp-idf/littlefs/CMakeFiles/__idf_littlefs.dir/src/esp_littlefs.c.obj -c C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/esp_littlefs.c In file included from C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/esp_littlefs.c:10: C:/Users/Nat/esp/components/spi_flash/include/esp_spi_flash.h:6:2: warning: #warning esp_spi_flash.h is deprecated, please use spi_flash_mmap.h instead [-Wcpp] 6 | #warning esp_spi_flash.h is deprecated, please use spi_flash_mmap.h instead | ^~~ In file included from C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/esp_littlefs.c:24: C:/Users/Nat/Documents/esper/software/firmware/components/littlefs/src/littlefs_api.h:9:10: fatal error: esp_vfs.h: No such file or directory 9 | #include "esp_vfs.h" | ^~~compilation terminated. [849/903] Building CXX object esp-idf/dns/CMakeFiles/idf_dns.dir/server.cpp.objFAILED: esp-idf/dns/CMakeFiles/idf_dns.dir/server.cpp.obj ccache C:\Users\Nat.espressif\tools\xtensa-esp32-elf\esp-2022r1-11.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -IC:/Users/Nat/Documents/esper/software/firmware/build/config -IC:/Users/Nat/Documents/esper/software/firmware/components/dns/include -IC:/Users/Nat/esp/components/newlib/platform_include -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include/freertos -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include -IC:/Users/Nat/esp/components/esp_hw_support/include -IC:/Users/Nat/esp/components/esp_hw_support/include/soc -IC:/Users/Nat/esp/components/esp_hw_support/include/soc/esp32 -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/. -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/private_include -IC:/Users/Nat/esp/components/heap/include -IC:/Users/Nat/esp/components/log/include -IC:/Users/Nat/esp/components/soc/include -IC:/Users/Nat/esp/components/soc/esp32/. -IC:/Users/Nat/esp/components/soc/esp32/include -IC:/Users/Nat/esp/components/hal/esp32/include -IC:/Users/Nat/esp/components/hal/include -IC:/Users/Nat/esp/components/hal/platform_port/include -IC:/Users/Nat/esp/components/esp_rom/include -IC:/Users/Nat/esp/components/esp_rom/include/esp32 -IC:/Users/Nat/esp/components/esp_rom/esp32 -IC:/Users/Nat/esp/components/esp_common/include -IC:/Users/Nat/esp/components/esp_system/include -IC:/Users/Nat/esp/components/esp_system/port/soc -IC:/Users/Nat/esp/components/esp_system/port/include/private -IC:/Users/Nat/esp/components/xtensa/include -IC:/Users/Nat/esp/components/xtensa/esp32/include -IC:/Users/Nat/esp/components/lwip/include -IC:/Users/Nat/esp/components/lwip/include/apps -IC:/Users/Nat/esp/components/lwip/include/apps/sntp -IC:/Users/Nat/esp/components/lwip/lwip/src/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include/arch -IC:/Users/Nat/Documents/esper/software/firmware/components/error -IC:/Users/Nat/Documents/esper/software/firmware/components/events -IC:/Users/Nat/Documents/esper/software/firmware/components/settings -IC:/Users/Nat/Documents/esper/software/firmware/components/datetime -IC:/Users/Nat/Documents/esper/software/firmware/components/lists -IC:/Users/Nat/esp/components/json/cJSON -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Users/Nat/Documents/esper/software/firmware=. -fmacro-prefix-map=C:/Users/Nat/esp=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu++20 -fexceptions -fno-rtti -D_GNU_SOURCE -DIDF_VER=\"v5.0.1\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/dns/CMakeFiles/idf_dns.dir/server.cpp.obj -MF esp-idf\dns\CMakeFiles__idf_dns.dir\server.cpp.obj.d -o esp-idf/dns/CMakeFiles/idf_dns.dir/server.cpp.obj -c C:/Users/Nat/Documents/esper/software/firmware/components/dns/server.cpp C:/Users/Nat/Documents/esper/software/firmware/components/dns/server.cpp:13:10: fatal error: esp_timer.h: No such file or directory 13 | #include "esp_timer.h" | ^~~~~ compilation terminated. [850/903] Building CXX object esp-idf/lists/CMakeFiles/__idf_lists.dir/lists.cpp.objFAILED: esp-idf/lists/CMakeFiles/idf_lists.dir/lists.cpp.obj ccache C:\Users\Nat.espressif\tools\xtensa-esp32-elf\esp-2022r1-11.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -IC:/Users/Nat/Documents/esper/software/firmware/build/config -IC:/Users/Nat/Documents/esper/software/firmware/components/lists -IC:/Users/Nat/esp/components/newlib/platform_include -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include/freertos -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include -IC:/Users/Nat/esp/components/esp_hw_support/include -IC:/Users/Nat/esp/components/esp_hw_support/include/soc -IC:/Users/Nat/esp/components/esp_hw_support/include/soc/esp32 -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/. -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/private_include -IC:/Users/Nat/esp/components/heap/include -IC:/Users/Nat/esp/components/log/include -IC:/Users/Nat/esp/components/soc/include -IC:/Users/Nat/esp/components/soc/esp32/. -IC:/Users/Nat/esp/components/soc/esp32/include -IC:/Users/Nat/esp/components/hal/esp32/include -IC:/Users/Nat/esp/components/hal/include -IC:/Users/Nat/esp/components/hal/platform_port/include -IC:/Users/Nat/esp/components/esp_rom/include -IC:/Users/Nat/esp/components/esp_rom/include/esp32 -IC:/Users/Nat/esp/components/esp_rom/esp32 -IC:/Users/Nat/esp/components/esp_common/include -IC:/Users/Nat/esp/components/esp_system/include -IC:/Users/Nat/esp/components/esp_system/port/soc -IC:/Users/Nat/esp/components/esp_system/port/include/private -IC:/Users/Nat/esp/components/xtensa/include -IC:/Users/Nat/esp/components/xtensa/esp32/include -IC:/Users/Nat/esp/components/lwip/include -IC:/Users/Nat/esp/components/lwip/include/apps -IC:/Users/Nat/esp/components/lwip/include/apps/sntp -IC:/Users/Nat/esp/components/lwip/lwip/src/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include/arch -IC:/Users/Nat/esp/components/json/cJSON -IC:/Users/Nat/esp/components/spiffs/include -IC:/Users/Nat/esp/components/esp_partition/include -IC:/Users/Nat/Documents/esper/software/firmware/components/error -IC:/Users/Nat/Documents/esper/software/firmware/components/flash -IC:/Users/Nat/Documents/esper/software/firmware/components/events -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Users/Nat/Documents/esper/software/firmware=. -fmacro-prefix-map=C:/Users/Nat/esp=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu++20 -fexceptions -fno-rtti -D_GNU_SOURCE -DIDF_VER=\"v5.0.1\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/lists/CMakeFiles/idf_lists.dir/lists.cpp.obj -MF esp-idf\lists\CMakeFiles__idf_lists.dir\lists.cpp.obj.d -o esp-idf/lists/CMakeFiles/idf_lists.dir/lists.cpp.obj -c C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.cpp C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.cpp:50:47: warning: ignoring attribute 'section (".iram1.2")' because it conflicts with previous 'section (".iram1.0")' [-Wattributes] 50 | IRAM_ATTR bool in_blacklist(const char domain) | ^ In file included from C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.cpp:1: C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.h:60:16: note: previous declaration here 60 | IRAM_ATTR bool in_blacklist(const char domain); | ^~~~ C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.cpp: In function 'bool in_blacklist(const char)': C:/Users/Nat/Documents/esper/software/firmware/components/lists/lists.cpp:53:21: error: 'esp_timer_get_time' was not declared in this scope; did you mean 'timer_gettime'? 53 | int64_t start = esp_timer_get_time(); | ^~~~~~ | timer_gettime [851/903] Building CXX object esp-idf/dns/CMakeFiles/idf_dns.dir/dns.cpp.objFAILED: esp-idf/dns/CMakeFiles/idf_dns.dir/dns.cpp.obj ccache C:\Users\Nat.espressif\tools\xtensa-esp32-elf\esp-2022r1-11.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -IC:/Users/Nat/Documents/esper/software/firmware/build/config -IC:/Users/Nat/Documents/esper/software/firmware/components/dns/include -IC:/Users/Nat/esp/components/newlib/platform_include -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include/freertos -IC:/Users/Nat/esp/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/Users/Nat/esp/components/freertos/esp_additions/include -IC:/Users/Nat/esp/components/esp_hw_support/include -IC:/Users/Nat/esp/components/esp_hw_support/include/soc -IC:/Users/Nat/esp/components/esp_hw_support/include/soc/esp32 -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/. -IC:/Users/Nat/esp/components/esp_hw_support/port/esp32/private_include -IC:/Users/Nat/esp/components/heap/include -IC:/Users/Nat/esp/components/log/include -IC:/Users/Nat/esp/components/soc/include -IC:/Users/Nat/esp/components/soc/esp32/. -IC:/Users/Nat/esp/components/soc/esp32/include -IC:/Users/Nat/esp/components/hal/esp32/include -IC:/Users/Nat/esp/components/hal/include -IC:/Users/Nat/esp/components/hal/platform_port/include -IC:/Users/Nat/esp/components/esp_rom/include -IC:/Users/Nat/esp/components/esp_rom/include/esp32 -IC:/Users/Nat/esp/components/esp_rom/esp32 -IC:/Users/Nat/esp/components/esp_common/include -IC:/Users/Nat/esp/components/esp_system/include -IC:/Users/Nat/esp/components/esp_system/port/soc -IC:/Users/Nat/esp/components/esp_system/port/include/private -IC:/Users/Nat/esp/components/xtensa/include -IC:/Users/Nat/esp/components/xtensa/esp32/include -IC:/Users/Nat/esp/components/lwip/include -IC:/Users/Nat/esp/components/lwip/include/apps -IC:/Users/Nat/esp/components/lwip/include/apps/sntp -IC:/Users/Nat/esp/components/lwip/lwip/src/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include -IC:/Users/Nat/esp/components/lwip/port/esp32/include/arch -IC:/Users/Nat/Documents/esper/software/firmware/components/error -IC:/Users/Nat/Documents/esper/software/firmware/components/events -IC:/Users/Nat/Documents/esper/software/firmware/components/settings -IC:/Users/Nat/Documents/esper/software/firmware/components/datetime -IC:/Users/Nat/Documents/esper/software/firmware/components/lists -IC:/Users/Nat/esp/components/json/cJSON -mlongcalls -Wno-frame-address -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fmacro-prefix-map=C:/Users/Nat/Documents/esper/software/firmware=. -fmacro-prefix-map=C:/Users/Nat/esp=/IDF -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -std=gnu++20 -fexceptions -fno-rtti -D_GNU_SOURCE -DIDF_VER=\"v5.0.1\" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -MD -MT esp-idf/dns/CMakeFiles/idf_dns.dir/dns.cpp.obj -MF esp-idf\dns\CMakeFiles__idf_dns.dir\dns.cpp.obj.d -o esp-idf/dns/CMakeFiles/idf_dns.dir/dns.cpp.obj -c C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:12:52: warning: ignoring attribute 'section (".iram1.11")' because it conflicts with previous 'section (".iram1.2")' [-Wattributes] 12 | IRAM_ATTR std::vector~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:23:58: warning: ignoring attribute 'section (".iram1.12")' because it conflicts with previous 'section (".iram1.3")' [-Wattributes] 23 | IRAM_ATTR std::vector~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:42:106: warning: ignoring attribute 'section (".iram1.13")' because it conflicts with previous 'section (".iram1.4")' [-Wattributes] 42 | IRAM_ATTR esp_err_t DNS::unpack_name(std::vector~~C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:61:121: warning: ignoring attribute 'section (".iram1.14")' because it conflicts with previous 'section (".iram1.5")' [-Wattributes] 61 | IRAM_ATTR esp_err_t DNS::unpack_vector(std::vector~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:88:87: warning: ignoring attribute 'section (".iram1.16")' because it conflicts with previous 'section (".iram1.7")' [-Wattributes] 88 | IRAM_ATTR DNS::DNS(std::vector~~~~~ | timer_gettime In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:8: C:/Users/Nat/esp/components/log/include/esp_log.h:265:27: error: format '%X' expects argument of type 'unsigned int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m" | ^ C:/Users/Nat/esp/components/log/include/esp_log.h:268:27: note: in expansion of macro 'LOG_COLOR' 268 | #define LOG_COLOR_E LOG_COLOR(LOG_COLOR_RED) | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_E' 282 | #define LOG_FORMAT(letter, format) LOGCOLOR ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:392:86: note: in expansion of macro 'LOG_FORMAT' 392 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag VA_OPT(,) VA_ARGS); } \ | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:338:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 338 | #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format VA_OPT(,) VA_ARGS__) | ^~~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:9: note: in expansion of macro 'ESP_LOGV' 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); | ^~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:265:27: error: format '%X' expects argument of type 'unsigned int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m" | ^ C:/Users/Nat/esp/components/log/include/esp_log.h:269:27: note: in expansion of macro 'LOG_COLOR' 269 | #define LOG_COLOR_W LOG_COLOR(LOG_COLOR_BROWN) | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_W' 282 | #define LOG_FORMAT(letter, format) LOGCOLOR ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:393:86: note: in expansion of macro 'LOG_FORMAT' 393 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag VA_OPT(,) VA_ARGS); } \ | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS); \ | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:338:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 338 | #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format VA_OPT(,) VA_ARGS) | ^~~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:9: note: in expansion of macro 'ESP_LOGV' 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); | ^~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:1: error: format '%X' expects argument of type 'unsigned int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); C:/Users/Nat/esp/components/log/include/esp_log.h:282:59: note: in definition of macro 'LOG_FORMAT' 282 | #define LOG_FORMAT(letter, format) LOGCOLOR ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~C:/Users/Nat/esp/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:338:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 338 | #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format VA_OPT(,) VA_ARGS) | ^~~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:9: note: in expansion of macro 'ESP_LOGV' 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); | ^~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:1: error: format '%X' expects argument of type 'unsigned int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); C:/Users/Nat/esp/components/log/include/esp_log.h:282:59: note: in definition of macro 'LOG_FORMAT' 282 | #define LOG_FORMAT(letter, format) LOGCOLOR ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~C:/Users/Nat/esp/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:338:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 338 | #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format VA_OPT(,) VA_ARGS) | ^~~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:9: note: in expansion of macro 'ESP_LOGV' 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); | ^~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:265:27: error: format '%X' expects argument of type 'unsigned int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 265 | #define LOG_COLOR(COLOR) "\033[0;" COLOR "m" | ^ C:/Users/Nat/esp/components/log/include/esp_log.h:270:27: note: in expansion of macro 'LOG_COLOR' 270 | #define LOG_COLOR_I LOG_COLOR(LOG_COLOR_GREEN) | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_I' 282 | #define LOG_FORMAT(letter, format) LOGCOLOR ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:396:86: note: in expansion of macro 'LOG_FORMAT' 396 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag VA_OPT(,) VA_ARGS); } \ | ^~~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:432:41: note: in expansion of macro 'ESP_LOG_LEVEL' 432 | if ( LOG_LOCAL_LEVEL >= level ) ESP_LOG_LEVEL(level, tag, format, ##VA_ARGS); \ | ^~~~~ C:/Users/Nat/esp/components/log/include/esp_log.h:338:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 338 | #define ESP_LOGV( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, tag, format VA_OPT(,) __VA_ARGS__) | ^~~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:141:9: note: in expansion of macro 'ESP_LOGV' 141 | ESP_LOGV(TAG, "TTL (%.8X)", records[i].ttl); | ^~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp: At global scope: C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:151:46: warning: ignoring attribute 'section (".iram1.17")' because it conflicts with previous 'section (".iram1.8")' [-Wattributes] 151 | IRAM_ATTR std::string DNS::convert_qname_url() | ^ In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1: C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:89:31: note: previous declaration here 89 | IRAM_ATTR std::string convert_qname_url(); | ^~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:167:55: warning: ignoring attribute 'section (".iram1.18")' because it conflicts with previous 'section (".iram1.9")' [-Wattributes] 167 | IRAM_ATTR esp_err_t DNS::add_answer(const char ip_str) | ^ In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1: C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:90:29: note: previous declaration here 90 | IRAM_ATTR esp_err_t add_answer(const char ip_str); | ^~~~~~ C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:205:66: warning: ignoring attribute 'section (".iram1.19")' because it conflicts with previous 'section (".iram1.10")' [-Wattributes] 205 | IRAM_ATTR esp_err_t DNS::send(int socket, struct sockaddr_in addr) | ^ In file included from C:/Users/Nat/Documents/esper/software/firmware/components/dns/dns.cpp:1: C:/Users/Nat/Documents/esper/software/firmware/components/dns/include/dns/dns.h:91:29: note: previous declaration here 91 | IRAM_ATTR esp_err_t send(int socket, struct sockaddr_in addr); | ^~~~ cc1plus.exe: some warnings being treated as errors ninja: build stopped: subcommand failed. HINT: Please make sure that the header name is correct. Also please check if you've specified all component dependencies with 'idf_component_register(REQUIRES ...)'. If the component is not present then it should be added by the IDF Component Manager. For more information run 'idf.py docs -sp api-guides/build-system.html'. Also, please check if the header file has been removed, renamed or relocated - refer to the migration guide for more information. HINT: The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include