← index #15154Issue #14350
Off-topic · high · value 3.396
QUERY · ISSUE

Build a esp32 firmware with version 1.22.2 meet a build issuse

openby ipconfigeropened 2024-05-28updated 2025-03-03
bugport-esp32needs-info

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.

CANDIDATE · ISSUE

Build micropython for ESP32 ports & ESP-IDF v5.06. failed with static-assert

openby aso-copened 2024-04-22updated 2024-04-29
bugport-esp32

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

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied