hints.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. # -
  2. # re: Regular expression of error to search
  3. # hint: The 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'. You can use variables with hint messages. For this, you need to add variables and "{}" in a place where you want to put your hint variable, but you can't use 'match_to_output' with variables.
  4. # match_to_output: (False by default) see the description of 'hint'.
  5. # variables:
  6. # -
  7. # re_variables: [set variable for regular expression]
  8. # hint_variables: [set variable for hint]
  9. # Rules to write regex for hints on how to resolve errors
  10. # - Do not use more than one whitespace in a row. The script automatically merges several whitespaces into one when capturing output
  11. # - Do not use \n in your regex. They are all automatically deletes by the script when capturing output
  12. #
  13. # example of using hints:
  14. # -
  15. # re: "Error: header {} is missing" (you can use '{1} ... {1}' placeholders in 'hint' and 're', so that you don't have to repeat the same variables, you can use 'hint: 'The {0} (functions/types/macros prefixed with '{1}') has been made into a private API. If users still require usage of the {0} (though this is not recommended), it can be included via #include "esp_private/{2}.h".' in this file as an example)
  16. # hint: "header {} is missing, you need to add dependency on component {}"
  17. # variables:
  18. # -
  19. # re_variables: [Q]
  20. # hint_variables: [A, B]
  21. # -
  22. # re_variables: [W]
  23. # hint_variables: [C, D]
  24. # -
  25. # re_variables: [R]
  26. # hint_variables: [E, F]
  27. #
  28. # that example will replace this :
  29. # -
  30. # re: "Error: header Q is missing"
  31. # hint: "header A is missing, you need to add dependency on component B"
  32. # -
  33. # re: Error: header W is missing"
  34. # hint: "header C is missing, you need to add dependency on component D"
  35. # -
  36. # re: Error: header R is missing"
  37. # hint: "header E is missing, you need to add dependency on component F"
  38. -
  39. re: "warning: passing argument 1 of 'esp_secure_boot_read_key_digests' from incompatible pointer type"
  40. hint: "The parameter type of the function esp_secure_boot_read_key_digests() has been changed from ets_secure_boot_key_digests_t* to esp_secure_boot_key_digests_t*."
  41. -
  42. re: "error: implicit declaration of function '{}'"
  43. hint: "Function '{}' has been removed. Please use the function {}."
  44. variables:
  45. -
  46. re_variables: [bootloader_common_get_reset_reason]
  47. hint_variables: [bootloader_common_get_reset_reason(), "'esp_rom_get_reset_reason()' in the ROM component"]
  48. -
  49. re_variables: [esp_efuse_get_chip_ver]
  50. hint_variables: [esp_efuse_get_chip_ver(), efuse_hal_get_major_chip_version(), efuse_hal_get_minor_chip_version() or efuse_hal_chip_revision() instead]
  51. -
  52. re_variables: [(esp_spiram_get_chip_size|esp_spiram_get_size)]
  53. hint_variables: [esp_spiram_get_chip_size and esp_spiram_get_size, esp_psram_get_size()]
  54. -
  55. re: "error: implicit declaration of function 'esp_secure_boot_verify_sbv2_signature_block|esp_secure_boot_verify_rsa_signature_block'"
  56. hint: "'esp_secure_boot_verify_sbv2_signature_block()' and 'esp_secure_boot_verify_rsa_signature_block()' and have been made private and are no longer available."
  57. -
  58. re: "error: implicit declaration of function '{}'"
  59. hint: '{0}.h header file is not included by esp_system.h anymore. It shall then be manually included with #include "{0}.h"'
  60. variables:
  61. -
  62. re_variables: [(esp_random|esp_fill_random)]
  63. hint_variables: [esp_random]
  64. -
  65. re_variables: [(esp_base_mac_addr_(s|g)et|esp_efuse_mac_get_(custom|default)|esp_read_mac|esp_derive_local_mac)]
  66. hint_variables: [esp_mac]
  67. -
  68. re_variables: [esp_chip_info]
  69. hint_variables: [esp_chip_info]
  70. -
  71. re: "fatal error: (spiram.h|esp_spiram.h): No such file or directory"
  72. hint: "{} was removed. Include esp_psram.h instead. Make sure to also add esp_psram as a dependency in your CMakeLists.txt file."
  73. match_to_output: True
  74. -
  75. re: "error: implicit declaration of function '{}'"
  76. hint: "Use {} defined in esp_cpu.h instead of {}."
  77. variables:
  78. -
  79. re_variables: [esp_cpu_ccount_t]
  80. hint_variables: [esp_cpu_cycle_count_t, esp_cpu_ccount_t]
  81. -
  82. re_variables: [esp_cpu_get_ccount]
  83. hint_variables: [esp_cpu_get_cycle_count(), esp_cpu_get_ccount]
  84. -
  85. re_variables: [esp_cpu_set_ccount]
  86. hint_variables: [esp_cpu_set_cycle_count(), esp_cpu_set_ccount]
  87. -
  88. re: "fatal error: {}: No such file or directory"
  89. hint: "{} was removed. Include {} instead."
  90. variables:
  91. -
  92. re_variables: [esp_intr.h]
  93. hint_variables: [esp_intr.h, esp_intr_alloc.h]
  94. -
  95. re_variables: [soc/cpu.h]
  96. hint_variables: [soc/cpu.h, and use the API function provided by esp_cpu.h]
  97. -
  98. re_variables: [compare_set.h]
  99. hint_variables: [compare_set.h, and use the API function provided by esp_cpu.h]
  100. -
  101. re_variables: [esp_panic.h]
  102. hint_variables: [esp_panic.h, use functionalities provided in esp_debug_helpers.h]
  103. -
  104. re: "error: implicit declaration of function 'esp_int_wdt_\\w+'"
  105. hint: 'The Interrupt Watchdog API has been made private, it shall not be used anymore. You can still force its inclusion with #include "esp_private/esp_int_wdt.h" (not recommended)'
  106. -
  107. re: "fatal error: soc/(spinlock.h|clk_ctrl_os.h|rtc_wdt.h): No such file or directory"
  108. hint: "{} must be included without the 'soc' part."
  109. match_to_output: True
  110. -
  111. re: "fatal error: (soc_log.h): No such file or directory"
  112. hint: "{} was renamed and made private. Consider using the logging APIs provided under esp_log.h instead."
  113. match_to_output: True
  114. -
  115. re: "error: unknown type name '(portTickType|xTaskHandle|xQueueHandle|xSemaphoreHandle|xQueueSetHandle|xQueueSetMemberHandle|xTimeOutType|xMemoryRegion|xTaskParameters|xTaskStatusType|xTimerHandle|xCoRoutineHandle|pdTASK_HOOK_CODE|tmrTIMER_CALLBACK|pdTASK_CODE|xListItem|xList)'"
  116. hint: "You maybe using pre FreeRTOS V8.0.0 data types. The backward compatibility of such data types is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such data types."
  117. match_to_output: True
  118. -
  119. re: "error: 'portTICK_RATE_MS' undeclared"
  120. hint: "You maybe using pre FreeRTOS V8.0.0 APIs. The backward compatibility of such APIs is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such APIs."
  121. match_to_output: True
  122. -
  123. re: "error: implicit declaration of function '(eTaskStateGet|pcTaskGetTaskName|pcTimerGetTimerName|pcQueueGetQueueName|vTaskGetTaskInfo|xTaskGetIdleRunTimeCounter)'"
  124. hint: "You maybe using pre FreeRTOS V8.0.0 APIs. The backward compatibility of such APIs is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such APIs."
  125. match_to_output: True
  126. -
  127. re: "error: unknown type name 'TaskSnapshot_t'"
  128. hint: "The header file task_snapshot.h is no longer included as part of freertos/task.h. Users need to include freertos/task_snapshot.h explicitly."
  129. match_to_output: True
  130. -
  131. re: "error: implicit declaration of function '(pxTaskGetNext|vTaskGetSnapshot|uxTaskGetSnapshotAll)'"
  132. hint: "The header file task_snapshot.h is no longer included as part of freertos/task.h. Users need to include freertos/task_snapshot.h explicitly."
  133. match_to_output: True
  134. -
  135. re: "error: implicit declaration of function '(portENTER_CRITICAL_NESTED|portEXIT_CRITICAL_NESTED|vPortCPUInitializeMutex|vPortCPUAcquireMutex|vPortCPUAcquireMutexTimeout|vPortCPUReleaseMutex)'"
  136. hint: "The header file portmacro_deprecated.h has been removed. Users should refer the migration guide for alternative functions."
  137. match_to_output: True
  138. -
  139. re: "error: implicit declaration of function '(\\w+)'"
  140. hint: "Please check that the function name is correct. Also it is possible that you've 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'.\nAlso, please check if the function has been removed, renamed or replaced by an alternative function - refer to the migration guide for more information."
  141. match_to_output: True
  142. -
  143. re: "fatal error: {}.h: No such file or directory"
  144. hint: 'The {0} (functions/types/macros prefixed with "{1}") has been made into a private API. If users still require usage of the {0} (though this is not recommended), it can be included via #include "esp_private/{2}.h".'
  145. variables:
  146. -
  147. re_variables: [esp32\\w*\\/clk]
  148. hint_variables: [ESP Clock API, esp_clk, esp_clk]
  149. -
  150. re_variables: [esp32\\w*\\/cache_err_int]
  151. hint_variables: [Cache Error Interrupt API, esp_cache_err, cache_err_int]
  152. -
  153. re_variables: [brownout]
  154. hint_variables: [Brownout API, esp_brownout, brownout]
  155. -
  156. re_variables: [trax]
  157. hint_variables: [Trax API, trax_, trax]
  158. -
  159. re_variables: [eh_frame_parser]
  160. hint_variables: [Backtrace Parser API, eh_frame_parser, eh_frame_parser]
  161. -
  162. re: "fatal error: esp_adc_cal.h: No such file or directory"
  163. hint: "``esp_adc_cal`` component is no longer supported. New adc calibration driver is in ``esp_adc``. Legacy adc calibration driver has been moved into ``esp_adc`` component. To use legacy ``esp_adc_cal`` driver APIs, you should add ``esp_adc`` component to the list of component requirements in CMakeLists.txt. For more information run 'idf.py docs -sp migration-guides/release-5.x/peripherals.html'."
  164. -
  165. re: "fatal error: .*atca_mbedtls_wrap\\.h: No such file or directory"
  166. hint: "To use CONFIG_ESP_TLS_USE_SECURE_ELEMENT option, please install `esp-cryptoauthlib` using 'idf.py add-dependency espressif/esp-cryptoauthlib'"
  167. -
  168. re: "fatal error: [\\w/]+\\.h: No such file or directory"
  169. 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'.\nAlso, please check if the header file has been removed, renamed or relocated - refer to the migration guide for more information."
  170. -
  171. re: "The CMAKE_[A-Z]+_COMPILER: [\\w+-]+ is not a full path and was not found in the PATH\\."
  172. 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"
  173. -
  174. re: "CMake Error: The current CMakeCache\\.txt directory .* is different than the directory .* where CMakeCache\\.txt was created\\."
  175. hint: "Run 'idf.py fullclean' and try the build again."
  176. -
  177. re: "CMake Error at .* \\(message\\): Could not create symbolic link for: error\\.c --> Cannot create a file when that file already exists\\."
  178. hint: "Run 'idf.py fullclean' and try the build again."
  179. -
  180. re: "CMake Error at .* \\(message\\): Directory specified in EXTRA_COMPONENT_DIRS doesn't exist: \\/.*\\/examples\\/common_components\\/.*"
  181. hint: "The component with path specified in the EXTRA_COMPONENT_DIRS variable has been moved to IDF component manager (or has been removed).\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details."
  182. -
  183. re: "ImportError: bad magic number in 'kconfiglib':"
  184. hint: "Run 'idf.py python-clean', and try again"
  185. -
  186. re: "ccache error: Failed to create temporary file"
  187. 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."
  188. -
  189. re: "The keyword signature for target_link_libraries has already been used"
  190. hint: "Projects using target_link_libraries with project_elf explicitly and custom CMake projects must specify PRIVATE, PUBLIC or INTERFACE arguments."
  191. -
  192. re: "format '([^']+)' expects argument of type '((unsigned )?int|long)', but argument (\\w+) has type '([u]?int32_t)'( {aka '([^']+)'})?"
  193. hint: "The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include <inttypes.h> header file)."
  194. -
  195. re: "Failed to resolve component 'esp_ipc'"
  196. hint: "IPC component has been moved to esp_system. Any `REQUIRES esp_ipc` can simply be deleted as esp_system is REQUIRED by default."
  197. -
  198. re: "error: invalid use of incomplete typedef 'esp_tls_t'"
  199. hint: "The struct 'esp_tls_t' has now been made private - its elements can be only be accessed/modified through respective getter/setter functions. Please refer to the migration guide for more information."
  200. -
  201. re: "error: enumeration value 'HTTP_EVENT_REDIRECT' not handled in switch"
  202. hint: "The event handler, specified in the 'event_handler' element, of the 'esp_http_client_config_t' struct now needs to handle the new 'HTTP_EVENT_REDIRECT' event case."
  203. -
  204. re: "Failed to resolve component '(?!esp_ipc)(\\w+)'"
  205. hint: "The component {} has been moved to the IDF component manager or has been removed and refactored into some other component.\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details."
  206. match_to_output: True
  207. -
  208. re: "fatal error: (esp_rom_tjpgd.h): No such file or directory"
  209. hint: "{} was removed. Please use esp_jpeg component from IDF component manager instead.\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details."
  210. match_to_output: True