bshanks was wondering about some details. While the fix seems sensible, it shouldn't be necessary according to him.
I had a closer look, and indeed Xcode 11.3.1 is not the problem. The command line tools for Xcode 11.3.1 are. Having them installed, even without pointing xcode-select, DEVELOPER_DIR or SDKROOT to them does some magic, for good (32 bit programs compile) and bad (the bug fixed here).
Some possibly relevant info:
``` grey:ntdll stefan$ xcode-select -p /Applications/Xcode.app/Contents/Developer grey:ntdll stefan$ sudo xcode-select -p /Applications/Xcode.app/Contents/Developer grey:ntdll stefan$ echo $DEVELOPER_DIR
grey:ntdll stefan$ echo $SDKROOT ```
(Homebrew choked on a difference between xcode-select -p and sudo xcode-select -p once. I have no idea how that can happen, since xcode-select -s is system wide. Oh well)
wine configure command line: `~/src/wine/configure --enable-win64 --without-x LDFLAGS="-L/Users/stefan/src/MoltenVK/Package/Latest/MoltenVK/dylib/macOS"`
And the exact build failure: ``` gcc -m64 -c -o dlls/ntdll/unix/signal_x86_64.o /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c -Idlls/ntdll \ -I/Users/stefan/src/wine/dlls/ntdll -Iinclude -I/Users/stefan/src/wine/include -D__WINESRC__ \ -DWINE_NO_LONG_TYPES -D_NTSYSTEM_ -D_ACRTIMP= -DWINBASEAPI= -D_MSVCR_VER=0 -DWINE_UNIX_LIB -Wall \ -pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing -Wdeclaration-after-statement \ -Wempty-body -Wignored-qualifiers -Winit-self -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits \ -Wvla -Wwrite-strings -Wpointer-arith -gdwarf-4 -fPIC -fasynchronous-unwind-tables -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 In file included from /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:83: /Users/stefan/src/wine/dlls/ntdll/unix/dwarf.h:913:45: warning: taking the absolute value of unsigned type 'ULONG_PTR' (aka 'unsigned long') has no effect [-Wabsolute-value] case DW_OP_abs: stack[sp] = labs(stack[sp]); break; ^ /Users/stefan/src/wine/dlls/ntdll/unix/dwarf.h:913:45: note: remove the call to 'labs' since unsigned values cannot be negative case DW_OP_abs: stack[sp] = labs(stack[sp]); break; ^~~~ /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:282:38: error: use of undeclared identifier '_STRUCT_MCONTEXT64_FULL' if (context->uc_mcsize == sizeof(_STRUCT_MCONTEXT64_FULL) || ^ /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:283:38: error: use of undeclared identifier '_STRUCT_MCONTEXT_AVX64_FULL' context->uc_mcsize == sizeof(_STRUCT_MCONTEXT_AVX64_FULL) || ^ /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:286:63: error: expected expression return (XMM_SAVE_AREA32 *)&((_STRUCT_MCONTEXT64_FULL *)context->uc_mcontext)->__fs.__fpu_fcw; ^ /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:286:38: error: use of undeclared identifier '_STRUCT_MCONTEXT64_FULL' return (XMM_SAVE_AREA32 *)&((_STRUCT_MCONTEXT64_FULL *)context->uc_mcontext)->__fs.__fpu_fcw; ```