Issue #11065 has been reported by Brett DiFrischia. ---------------------------------------- Bug #11065: Ruby 2.2.2 fails to build on Cygwin64: static function, utoa, in ext/-test-/printf/printf.c has different signature in system stdlib.h. https://bugs.ruby-lang.org/issues/11065 * Author: Brett DiFrischia * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.2.2 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Hello, While attempting to build Ruby 2.2.2 on Cygwin (x86_64), I got the following error: ~~~ make[2]: Entering directory '/home/bnd/ext/cc/build/cygwin64/ruby-2.2.2/ext/-test-/printf' compiling printf.c printf.c:23:1: error: conflicting types for 'utoa' utoa(char *p, char *e, unsigned int x) ^ In file included from /usr/include/stdio.h:29:0, from ../../.././include/ruby/defines.h:26, from ../../.././include/ruby/ruby.h:29, from ../../.././include/ruby.h:33, from printf.c:1: /usr/include/stdlib.h:184:8: note: previous declaration of 'utoa' was here char * _EXFUN(utoa,(unsigned, char *, int)); ^ Makefile:241: recipe for target 'printf.o' failed make[2]: *** [printf.o] Error 1 make[2]: Leaving directory '/home/bnd/ext/cc/build/cygwin64/ruby-2.2.2/ext/-test-/printf' exts.mk:118: recipe for target 'ext/-test-/printf/all' failed make[1]: *** [ext/-test-/printf/all] Error 2 make[1]: Leaving directory '/home/bnd/ext/cc/build/cygwin64/ruby-2.2.2' uncommon.mk:189: recipe for target 'build-ext' failed make: *** [build-ext] Error 2 ~~~ I was able to overcome this error by renaming the function to `utoa2`, though you may wish to use something more appropriate. Thank you, Brett -- https://bugs.ruby-lang.org/