espressif / esp-box

The ESP-BOX is a new generation AIoT development platform released by Espressif Systems.
Apache License 2.0
710 stars 173 forks source link

anyone else seeing print formatting errors with esp-idf 5? (AEGHB-87) #58

Closed chmorgan closed 1 year ago

chmorgan commented 1 year ago

It looks like the idf5 compiler is a bit picker about print formatting. I've resolved a handful of these in esp-audio-player and plan to push a commit to master but is this a normal thing with idf5 builds? I see we are disabling format warnings in some of the CMakeLists.txt files.

For example:

/Users/cmorgan/projects/esp-box/examples/be_voice/components/chmorgan__esp-audio-player/audio_log.h:21:5: note: in expansion of macro 'ESP_LOGI'
   21 |     ESP_LOGI(TAG, "[3] " FMT, ##__VA_ARGS__)
      |     ^~~~~~~~
/Users/cmorgan/projects/esp-box/examples/be_voice/components/chmorgan__esp-audio-player/audio_mp3.cpp:116:13: note: in expansion of macro 'LOGI_3'
  116 |             LOGI_3("mp3: channels %" PRIu32 ", sr %d, bps %d, frame_count %d, processed %d",
      |             ^~~~~~
/Users/cmorgan/esp/esp-idf/components/log/include/esp_log.h:265:27: error: format '%d' expects argument of type 'int', but argument 8 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=]
  265 | #define LOG_COLOR(COLOR)  "\033[0;" COLOR "m"
      |                           ^
/Users/cmorgan/esp/esp-idf/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)
      |                           ^~~~~~~~~
/Users/cmorgan/esp/esp-idf/components/log/include/esp_log.h:282:37: note: in expansion of macro 'LOG_COLOR_I'
  282 | #define LOG_FORMAT(letter, format)  LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n"
      |                                     ^~~~~~~~~~
/Users/cmorgan/esp/esp-idf/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__); } \
      |                                                                                      ^~~~~~~~~~
/Users/cmorgan/esp/esp-idf/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__); \
      |                                         ^~~~~~~~~~~~~
/Users/cmorgan/esp/esp-idf/components/log/include/esp_log.h:336:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  336 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO,    tag, format __VA_OPT__(,) __VA_ARGS__)
      |                                      ^~~~~~~~~~~~~~~~~~~
/Users/cmorgan/projects/esp-box/examples/be_voice/components/chmorgan__esp-audio-player/audio_log.h:21:5: note: in expansion of macro 'ESP_LOGI'
   21 |     ESP_LOGI(TAG, "[3] " FMT, ##__VA_ARGS__)
      |     ^~~~~~~~
/Users/cmorgan/projects/esp-box/examples/be_voice/components/chmorgan__esp-audio-player/audio_mp3.cpp:116:13: note: in expansion of macro 'LOGI_3'
  116 |             LOGI_3("mp3: channels %" PRIu32 ", sr %d, bps %d, frame_count %d, processed %d",
      |             ^~~~~~
cc1plus: some warnings being treated as errors
[27/213] Building C object esp-idf/lvgl__lvgl/CMakeFiles/__idf_lvgl__lvgl.dir/src/draw/lv_draw_mask.c.objninja: build stopped: subcommand failed.
espressif2022 commented 1 year ago

https://github.com/espressif/esp-bsp/issues/50 ,this seems to be the same as what you describe.