I can reproduce the build failure in my system. widl fails with segfault. Here the output from gdb.
``` (gdb) r Starting program: /home/x/wine/bin/tools/widl/widl -o dlls/sti/x86_64-windows/sti_wia_p.c -b x86_64-w64-mingw32 --nostdinc -Ldlls/* -Idlls/sti -I../dlls/sti -Iinclude -I../include -I../include/msvcrt -D_UCRT -D__WINESRC__ ../dlls/sti/sti_wia.idl [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault. 0x000055555557216e in typegen_detect_type (type=0x5555555ecbd0, attrs=0x0, flags=2) at ../tools/widl/typegen.c:290 290 static type_t *get_user_type(const type_t *t, const char **pname) (gdb) bt #0 0x000055555557216e in typegen_detect_type (type=0x5555555ecbd0, attrs=0x0, flags=2) at ../tools/widl/typegen.c:290 #1 0x000055555557242c in type_has_full_pointer (type=<optimized out>, attrs=<optimized out>, toplevel_param=toplevel_param@entry=0) at ../tools/widl/typegen.c:752 #2 0x0000555555572564 in type_has_full_pointer (type=<optimized out>, attrs=<optimized out>, toplevel_param=toplevel_param@entry=0) at ../tools/widl/typegen.c:784 #3 0x00005555555724bd in type_has_full_pointer (type=<optimized out>, attrs=<optimized out>, toplevel_param=toplevel_param@entry=0) at ../tools/widl/typegen.c:772 ... going on ```