Lv_micropython 1.17 build failure

Hello all,
After fighting various Linux distros that did not want to play nice with ESP-IDF I finally got a clean VM with Debian11 working with ESP-IDF.
Complete environment:
Debian GNU/Linux 11 (bullseye) on x86-64
GNU Make 4.3
ESP-IDF v4.4-dev-3042-g220590d599-dirty
Python 3.9

I ran the following commands to clone the repo and start the build:

git clone -j8 --recurse-submodules
cd lv_micropython
make -C mpy-cross
cd ports/esp32
make submodules

And finally, from lv_micropython:

Now, this process runs for most of the file list but dies with the following:
[1118/1478] Generating …/…/lv_espidf.c
FAILED: lv_espidf.c
cd /home/user/MicroPython/lv_micropython/ports/esp32/build-GENERIC_SPIRAM/esp-idf/main && /home/user/.espressif/python_env/idf4.4_py3.9_env/bin/python3.9 /home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/ -M espidf -MD /home/user/MicroPython/lv_micropython/ports/esp32/build-GENERIC_SPIRAM/lv_espidf.c.json -E /home/user/MicroPython/lv_micropython/ports/esp32/build-GENERIC_SPIRAM/lv_espidf.c.pp.filtered /home/user/MicroPython/lv_micropython/lib/lv_bindings/driver/esp32/espidf.h > /home/user/MicroPython/lv_micropython/ports/esp32/build-GENERIC_SPIRAM/lv_espidf.c || ( rm -f /home/user/MicroPython/lv_micropython/ports/esp32/build-GENERIC_SPIRAM/lv_espidf.c && /bin/false )
Traceback (most recent call last):
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 2393, in
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 2328, in try_generate_structs_from_first_argument
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1781, in try_generate_type
try_generate_struct(type, structs[type]) if type in structs else None
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1506, in try_generate_struct
converted = try_generate_type(decl.type)
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1765, in try_generate_type
return try_generate_type(type_ast.type)
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1818, in try_generate_type
if try_generate_struct(type, structs[type]):
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1516, in try_generate_struct
try_generate_struct(type_name, decl.type.type)
File “/home/user/MicroPython/lv_micropython/lib/lv_bindings/gen/”, line 1497, in try_generate_struct
return try_generate_type(structs[])
KeyError: None
[1119/1478] Generating …/…/lv_mp.c
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
make: *** [Makefile:35: all] Error 2
make: Leaving directory ‘/home/user/MicroPython/lv_micropython/ports/esp32’

I would have to note that after a few different tries, I did build the latest micropython without any issue. So it would not be a problem with the toolchain itself.
From what I could gather, it would seem to be some kind of missing parameter inside of the JSON? (I mean, keyerror: none usually means you tried to use something that is not in the dict you referenced…)
I found no way to get a more verbose output… I did try changing the board from GENERIC_SPIRAM to GENERIC and building as is, without the IL9341-specific options but it always fails in the same exact point.

Hi @Raiker !

Currently MicroPython supports v4.0.2, v4.1.1 and v4.2

Please try again with ESP-IDF v4.2.

Huh. It might be a fluke that vanilla MicroPython built with 4.4. I could swear I read a commit regarding support for newer ESP32 requiring 4.4. EDIT: Found it:
Oh well. I rebuilt the ESP-IDF environment with 4.2.2 and it was built without problems. I do have some warnings on functions defined but not used. Well. Now to flash and test.