Actions
Bug #11065
closedRuby 2.2.2 fails to build on Cygwin64: static function, utoa, in ext/-test-/printf/printf.c has different signature in system stdlib.h.
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
2.2.2
Backport:
Description
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
Actions
Like0
Like0Like0Like0Like0Like0