# - # re: Regular expression of error to search # hint: Message of the hint. Optionally, it is possible to use '{}' at the place where the matched group from 're' should be inserted. This requires 'match_to_output: True'. # match_to_output: (False by default) see the description of 'hint'. # Rules to write regex for hints on how to resolve errors # - Do not use more than one whitespace in a row. The script automatically merges several whitespaces into one when capturing output # - Do not use \n in your regex. They are all automatically deletes by the script when capturing output - re: "error: implicit declaration of function 'bootloader_common_get_reset_reason'" hint: "'bootloader_common_get_reset_reason()' has been removed. Please use the function 'esp_rom_get_reset_reason()' in the ROM component." - re: "error: implicit declaration of function 'esp_secure_boot_verify_sbv2_signature_block|esp_secure_boot_verify_rsa_signature_block'" hint: "'esp_secure_boot_verify_sbv2_signature_block()' and 'esp_secure_boot_verify_rsa_signature_block()' and has been made private and are no longer available." - re: "error: implicit declaration of function 'esp_cpu_ccount_t'" hint: "Use esp_cpu_cycle_count_t defined in esp_cpu.h instead of esp_cpu_ccount_t." - re: "error: implicit declaration of function 'esp_cpu_(g|s)et_ccount'" hint: "Use esp_cpu_{}et_cycle_count() defined in esp_cpu.h instead." match_to_output: True - re: "fatal error: (soc/cpu.h|compare_set.h): No such file or directory" hint: "{} was removed. Include and use the API function provided by esp_cpu.h instead." match_to_output: True - re: "fatal error: (esp_intr.h): No such file or directory" hint: "{} was removed. Include esp_intr_alloc.h instead." match_to_output: True - re: "fatal error: (esp_panic.h): No such file or directory" hint: "{} was made private. Use functionalities provided in esp_debug_helpers.h instead." match_to_output: True - re: "fatal error: soc/(spinlock.h|clk_ctrl_os.h|rtc_wdt.h): No such file or directory" hint: "{} must be included without the 'soc' part." match_to_output: True - re: "fatal error: (soc_log.h): No such file or directory" hint: "{} was renamed and made private. Consider using the logging APIs provided under esp_log.h instead." match_to_output: True - re: "error: implicit declaration of function '(\\w+)'" hint: "Maybe you forgot to import {} library(s) in header file or add the necessary REQURIES component. Try to add missing libraries to your project header file or check idf_component_register(REQUIRES ...) section in your component CmakeList.txt file. For more information run 'idf.py docs -sp api-guides/build-system.html'." match_to_output: True - re: "fatal error: esp32\\w*\\/clk.h: No such file or directory" hint: "The ESP Clock API (functions/types/macros prefixed with 'esp_clk') has been made into a private API. If users still require usage of the ESP Clock API (though this is not recommended), it can be included via '#include \"esp_private/esp_clk.h\"'." - re: "fatal error: esp32\\w*\\/cache_err_int.h: No such file or directory" hint: "The Cache Error Interrupt API (functions/types/macros prefixed with 'esp_cache_err') has been made into a private API. If users still require usage of the Cache Error Interrupt API (though this is not recommended), it can be included via '#include \"esp_private/cache_err_int.h\"'" - re: "fatal error: brownout.h: No such file or directory" hint: "The Brownout API (functions/types/macros prefixed with 'esp_brownout') has been made into a private API. If users still require usage of the Brownout API (though this is not recommended), it can be included via '#include \"esp_private/brownout.h\"'." - re: "fatal error: trax.h: No such file or directory" hint: "The Trax API (functions/types/macros prefixed with 'trax_') has been made into a private API. If users still require usage of the Trax API (though this is not recommended), it can be included via '#include \"esp_private/trax.h\"'." - re: "fatal error: [\\w/]+\\.h: No such file or directory" hint: "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'." - re: "The CMAKE_[A-Z]+_COMPILER: [\\w+-]+ is not a full path and was not found in the PATH\\." hint: "Try to reinstall the toolchain for the chip that you trying to use. \nFor more information run 'idf.py docs -sp get-started/#installation' and follow the instructions for your system" - re: "CMake Error: The current CMakeCache\\.txt directory .* is different than the directory .* where CMakeCache\\.txt was created\\." hint: "Run 'idf.py fullclean' and try the build again." - re: "CMake Error at .* \\(message\\): Could not create symbolic link for: error\\.c --> Cannot create a file when that file already exists\\." hint: "Run 'idf.py fullclean' and try the build again." - re: "ImportError: bad magic number in 'kconfiglib':" hint: "Run 'idf.py python-clean', and try again" - re: "ccache error: Failed to create temporary file" hint: "On Windows, you should enable long path support in the installer, or disable ccache temporarily. See 'idf.py --help' or the documentation how to achieve this." - re: "The keyword signature for target_link_libraries has already been used" hint: "Projects using target_link_libraries with project_elf explicitly and custom CMake projects must specify PRIVATE, PUBLIC or INTERFACE arguments." - re: "format '([^']+)' expects argument of type '((unsigned )?int|long)', but argument (\\w+) has type '([u]?int32_t)'( {aka '([^']+)'})?" hint: "The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include header file)." - re: "Failed to resolve component 'esp_ipc'" hint: "IPC component has been moved to esp_system. Any `REQUIRES esp_ipc` can simply be deleted as esp_system is REQUIRED by default."