How to compile wine, and problems that may arise...
gcc -- 2.7.x required (Wine uses attribute stdcall). Versions earlier than 126.96.36.199 barf on shellord.c -- compile without optimizing for that file. In addition EGCS 1.1.x and GCC 2.95.x are reported to work fine.
flex >= 2.5.1 (required for the debugger and wrc, and lex won't do)
bison (also required for debugger. Don't know whether BSD yacc would work.)
X11 libs and include files
texinfo >= 3.11 (optional, to compile the documentation.)
autoconf (if you want to remake configure, which is not normally required)
XF86DGA extension (optional, detected by configure, needed for DirectX support)
Open Sound System (optional, detected by configure, for sound support)
The Red Hat RPMs are gcc-XXX, flex-XXX, and XFree86-devel-XXX, where XXX is the version number.
You also need about 230 MB of available disk space for compilation. The compiled libwine.so binary takes around 5 MB of disk space, which can be reduced to about 1 MB by stripping ('strip wine'). Stripping is not recommended, however, as you can't submit proper crash reports with a stripped binary any more.
If you get a repeatable sig11 compiling shellord.c, thunk.c or other files, try compiling just that file without optimization. Then you should be able to finish the build.
FreeBSD -- In order to run Wine, the FreeBSD kernel needs to be compiled withBuilding and Installing a Custom Kernel" in the "FreeBSD handbook. You'll need to be running FreeBSD 3.x or later.
SCO Unixware, Openserver -- UW port is supported by SCO.
OS/2 -- not a complete port. See Odin for a project which uses some Wine code.
Solaris x86 2.x -- Needs GNU toolchain (gcc, gas, flex as above, yacc may work) to compile, seems functional (980215).
DGUX, HP, Irix, or other Unixes; non-intel Linux. No ports have been seriously attempted. For non-intel Unixes, only a winelib port is relevant. Alignment may be a problem.
Macintosh/Rhapsody/BeOS -- no ports have been attempted.