Build a esp32 firmware with version 1.22.2 meet a build issuse
Checks
-
I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.
-
I've searched for existing issues matching this bug, and didn't find any.
Port, board and/or hardware
esp32 port
MicroPython version
MicroPython 1.22.2
Reproduction
next is the build script:
#!/bin/bash
export BUILD_DIR=$(pwd)
echo "--- CLONING ULAB ---"
git clone --depth 1 https://github.com/v923z/micropython-ulab.git ulab
echo "--- CLONING MICROPYTHON ---"
git clone --depth 1 -b v1.22.2 https://github.com/micropython/micropython.git
echo "--- CLONING ESP-IDF ---"
cd $BUILD_DIR/micropython/
git clone --depth 1 -b v5.0.4 --recursive https://github.com/espressif/esp-idf.git
echo "--- INSTALL ESP-IDF ---"
cd $BUILD_DIR/micropython/esp-idf
./install.sh
. ./export.sh
echo "--- MPY-CROSS ---"
cd $BUILD_DIR/micropython/mpy-cross
make
echo "--- ESP32 SUBMODULES ---"
cd $BUILD_DIR/micropython/ports/esp32
make submodules
echo "--- PATCH MAKEFILE ---"
cp $BUILD_DIR/micropython/ports/esp32/Makefile $BUILD_DIR/micropython/ports/esp32/MakefileOld
echo "BOARD = ESP32_GENERIC" > $BUILD_DIR/micropython/ports/esp32/Makefile
cat $BUILD_DIR/micropython/ports/esp32/MakefileOld >> $BUILD_DIR/micropython/ports/esp32/Makefile
echo "move extmod file"
cp -r $BUILD_DIR/ext_mods/ $BUILD_DIR/micropython/ports/esp32/modules
echo "--- MAKE ---"
make
Expected behaviour
No response
Observed behaviour
build error:
[ 98%] Building C object esp-idf/main_esp32/CMakeFiles/idf_main_esp32.dir///pins.c.obj
[ 98%] Building C object esp-idf/main_esp32/CMakeFiles/idf_main_esp32.dir///frozen_content.c.obj
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36441:27: error: redefinition of 'const_qstr_table_data_urequests'
36441 | static const qstr_short_t const_qstr_table_data_urequests[70] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10122:27: note: previous definition of 'const_qstr_table_data_urequests' with type 'const qstr_short_t[70]' {aka 'const short unsigned int[70]'}
10122 | static const qstr_short_t const_qstr_table_data_urequests[70] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36515:27: error: redefinition of 'const_obj_urequests_1'
36515 | static const mp_obj_str_t const_obj_urequests_1 = {{&mp_type_bytes}, 47477, 17, (const byte*)"\x25\x73\x20\x2f\x25\x73\x20\x48\x54\x54\x50\x2f\x31\x2e\x30\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10196:27: note: previous definition of 'const_obj_urequests_1' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10196 | static const mp_obj_str_t const_obj_urequests_1 = {{&mp_type_bytes}, 47477, 17, (const byte*)"\x25\x73\x20\x2f\x25\x73\x20\x48\x54\x54\x50\x2f\x31\x2e\x30\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36516:27: error: redefinition of 'const_obj_urequests_2'
36516 | static const mp_obj_str_t const_obj_urequests_2 = {{&mp_type_bytes}, 35534, 10, (const byte*)"\x48\x6f\x73\x74\x3a\x20\x25\x73\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10197:27: note: previous definition of 'const_obj_urequests_2' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10197 | static const mp_obj_str_t const_obj_urequests_2 = {{&mp_type_bytes}, 35534, 10, (const byte*)"\x48\x6f\x73\x74\x3a\x20\x25\x73\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36517:27: error: redefinition of 'const_obj_urequests_3'
36517 | static const mp_obj_str_t const_obj_urequests_3 = {{&mp_type_bytes}, 26975, 2, (const byte*)"\x3a\x20"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10198:27: note: previous definition of 'const_obj_urequests_3' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10198 | static const mp_obj_str_t const_obj_urequests_3 = {{&mp_type_bytes}, 26975, 2, (const byte*)"\x3a\x20"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36518:27: error: redefinition of 'const_obj_urequests_4'
36518 | static const mp_obj_str_t const_obj_urequests_4 = {{&mp_type_bytes}, 27298, 2, (const byte*)"\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10199:27: note: previous definition of 'const_obj_urequests_4' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10199 | static const mp_obj_str_t const_obj_urequests_4 = {{&mp_type_bytes}, 27298, 2, (const byte*)"\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36519:27: error: redefinition of 'const_obj_urequests_5'
36519 | static const mp_obj_str_t const_obj_urequests_5 = {{&mp_type_bytes}, 14729, 32, (const byte*)"\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65\x3a\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10200:27: note: previous definition of 'const_obj_urequests_5' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10200 | static const mp_obj_str_t const_obj_urequests_5 = {{&mp_type_bytes}, 14729, 32, (const byte*)"\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65\x3a\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36520:27: error: redefinition of 'const_obj_urequests_6'
36520 | static const mp_obj_str_t const_obj_urequests_6 = {{&mp_type_bytes}, 8065, 20, (const byte*)"\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x4c\x65\x6e\x67\x74\x68\x3a\x20\x25\x64\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10201:27: note: previous definition of 'const_obj_urequests_6' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10201 | static const mp_obj_str_t const_obj_urequests_6 = {{&mp_type_bytes}, 8065, 20, (const byte*)"\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x4c\x65\x6e\x67\x74\x68\x3a\x20\x25\x64\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36521:27: error: redefinition of 'const_obj_urequests_7'
36521 | static const mp_obj_str_t const_obj_urequests_7 = {{&mp_type_bytes}, 54399, 21, (const byte*)"\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x3a\x20\x63\x6c\x6f\x73\x65\x0d\x0a\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10202:27: note: previous definition of 'const_obj_urequests_7' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10202 | static const mp_obj_str_t const_obj_urequests_7 = {{&mp_type_bytes}, 54399, 21, (const byte*)"\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x3a\x20\x63\x6c\x6f\x73\x65\x0d\x0a\x0d\x0a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36522:27: error: redefinition of 'const_obj_urequests_8'
36522 | static const mp_obj_str_t const_obj_urequests_8 = {{&mp_type_bytes}, 59642, 18, (const byte*)"\x54\x72\x61\x6e\x73\x66\x65\x72\x2d\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10203:27: note: previous definition of 'const_obj_urequests_8' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10203 | static const mp_obj_str_t const_obj_urequests_8 = {{&mp_type_bytes}, 59642, 18, (const byte*)"\x54\x72\x61\x6e\x73\x66\x65\x72\x2d\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3a"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36523:27: error: redefinition of 'const_obj_urequests_9'
36523 | static const mp_obj_str_t const_obj_urequests_9 = {{&mp_type_bytes}, 3583, 7, (const byte*)"\x63\x68\x75\x6e\x6b\x65\x64"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10204:27: note: previous definition of 'const_obj_urequests_9' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10204 | static const mp_obj_str_t const_obj_urequests_9 = {{&mp_type_bytes}, 3583, 7, (const byte*)"\x63\x68\x75\x6e\x6b\x65\x64"};
| ^~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36524:27: error: redefinition of 'const_obj_urequests_11'
36524 | static const mp_obj_str_t const_obj_urequests_11 = {{&mp_type_bytes}, 1090, 9, (const byte*)"\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a"};
| ^~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10205:27: note: previous definition of 'const_obj_urequests_11' with type 'mp_obj_str_t' {aka 'const struct _mp_obj_str_t'}
10205 | static const mp_obj_str_t const_obj_urequests_11 = {{&mp_type_bytes}, 1090, 9, (const byte*)"\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a"};
| ^~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36527:27: error: redefinition of 'const_obj_table_data_urequests'
36527 | static const mp_rom_obj_t const_obj_table_data_urequests[13] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10208:27: note: previous definition of 'const_obj_table_data_urequests' with type 'const void * const[13]'
10208 | static const mp_rom_obj_t const_obj_table_data_urequests[13] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:36543:33: error: redefinition of 'frozen_module_urequests'
36543 | static const mp_frozen_module_t frozen_module_urequests = {
| ^~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10224:33: note: previous definition of 'frozen_module_urequests' with type 'mp_frozen_module_t' {aka 'const struct _mp_frozen_module_t'}
10224 | static const mp_frozen_module_t frozen_module_urequests = {
| ^~~~~~~~~~~~~~~~~~~~~~~
/Users/alex/Projects/esp/build2/micropython/ports/esp32/build-ESP32_GENERIC/frozen_content.c:10224:33: error: 'frozen_module_urequests' defined but not used [-Werror=unused-const-variable=]
cc1: some warnings being treated as errors
make[3]: *** [esp-idf/main_esp32/CMakeFiles/idf_main_esp32.dir//__/frozen_content.c.obj] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [esp-idf/main_esp32/CMakeFiles/__idf_main_esp32.dir/all] Error 2
Additional Information
No, I've provided everything above.
Build micropython for ESP32 ports & ESP-IDF v5.06. failed with static-assert
Checks
-
I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.
-
I've searched for existing issues matching this bug, and didn't find any.
Port, board and/or hardware
esp32 port, ESP32-boards, all variants
MicroPython version
MicroPython v1.22.2-dirty on 2024-04-18; Generic ESP32 module with ESP32; ESP-IDF v.5.0.6
Reproduction
make
Expected behaviour
Build micrpopython port for ESP32, simply make. ;))
Observed behaviour
Build process failed by the static assert with message:
"Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h"
Additional Information
I discover this trouble and detect, that Espressif upgrade it's code in all 5.x.y branches.
Now:
- location in file: - ports/esp32/network_common.c
- line: 171
- source code:
#if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 1, 1)
_Static_assert(WIFI_AUTH_MAX == 11, "Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h");
#else
_Static_assert(WIFI_AUTH_MAX == 10, "Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h");
#endif
- Solition: update code as below:
#if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 1, 1)
_Static_assert(WIFI_AUTH_MAX == 11, "Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h");
//-- Upd begin -----------------------------------------------------------------------
#elif ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 0, 4)
_Static_assert(WIFI_AUTH_MAX == 11, "Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h");
//-- Upd end -------------------------------------------------------------------------
#else
_Static_assert(WIFI_AUTH_MAX == 10, "Synchronize WIFI_AUTH_XXX constants with the ESP-IDF. Look at esp-idf/components/esp_wifi/include/esp_wifi_types.h");
#endif
Upd: I'm detect, that in ESP-IDF, branch v5.2.x - WIFI_AUTH_MAX == 13