Bug #2153: Built issue with include/ruby/st.h (expected declaration ... before ???uint32_t???)
http://redmine.ruby-lang.org/issues/show/2153

Author: Daniel Bovensiepen
Status: Open, Priority: Normal
ruby -v: ruby 1.9.2dev (2009-09-28 trunk 25135) [x86_64-darwin10.0.0]

With Revision 25132 there was a slightly change in include/ruby/st.h:

  @@ -109,7 +109,7 @@
   int st_strncasecmp(const char *s1, const char *s2, size_t n);
   size_t st_memsize(const st_table *);
   st_index_t st_hash(const void *ptr, size_t len, st_index_t h);
  -st_index_t st_hash_uint32(st_index_t h, unsigned int i);
  +st_index_t st_hash_uint32(st_index_t h, uint32_t i);
   st_index_t st_hash_uint(st_index_t h, st_index_t i);
   st_index_t st_hash_end(st_index_t h);
   st_index_t st_hash_start(st_index_t h);

The log message describe this change as a "fix for cygwin". But on my system:

  ruby 1.9.2dev (2009-09-28 trunk 25135) [x86_64-darwin10.0.0]

The following happens during compiling:

  gcc -I. -I../../.ext/include/x86_64-darwin10.0.0 -I../.././include -I../.././ext/syck -DRUBY_EXTCONF_H=\"extconf.h\" -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -fomit-frame-pointer -ggdb -Wall -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32  -fno-common -pipe  -o gram.o -c gram.c
  In file included from syck.h:21,
                   from gram.y:16:
  ../.././include/ruby/st.h:112: error: expected declaration specifiers or ???...??? before ???uint32_t???
  make[1]: *** [gram.o] Error 1
  make: *** [mkmain.sh] Error 1

I don't want to provide a patch, because I don't know how it will apply to the mention cygwin issue.


----------------------------------------
http://redmine.ruby-lang.org