Ah yes i have forgotten to report another problem with rts.{h,c} in rts.h if HAVE_STRSIGNAL is defined it does declare the function char *strsignal( int ) witch conflicts with the strsignal definition in the cygwin include file string.h const char *_EXFUN(strsignal, (int __signo)); => compiler abort If we have defined HAVE_STRSIGNAL does it mean we have a strsignal function defined in string.h or does it only mean the lib has one ? In any case you can put a #ifndef __CYGWIN__ around the strsignal definition in rts.h