if cygwin bails out with weird errors while building gcc on win9x, try this hack: /usr/include/winnt.h:line 2061-2064 change: typedef struct _IMAGE_IMPORT_BY_NAME { WORD Hint; BYTE Name[1]; } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; to: typedef struct _IMAGE_IMPORT_BY_NAME { /* WORD Hint; */ BYTE Name[1]; } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; added: alternative fix by Fulg (Benoit Miller - fulg@iname.com) typedef struct _IMAGE_IMPORT_BY_NAME { unsigned short Hint; unsigned char Name[1]; } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; you should really remember to change that back to how it was after you compiled gcc with success (or not? ;=P) This is more like a dirty workaround than a fix !