From: Jeremy Henty Date: 2007-07-31T01:10:06+09:00 Subject: BUG(?): 1.8.6-p36 broke compiling C++ extensions Upgrading 1.8.6 to 1.8.6-p36 has stopped C++ extensions from compiling. If I create a file foo.cc containing: #include and compile it with: $ g++ -I/usr/lib/ruby/1.8/i686-linux -c foo.cc then it works with version 1.8.6 , but fails with version 1.8.6-p36 : In file included from /usr/lib/ruby/1.8/i686-linux/ruby.h:719, from foo.cc:1: /usr/lib/ruby/1.8/i686-linux/intern.h:207: error: use of enum `rb_thread_status' without previous declaration /usr/lib/ruby/1.8/i686-linux/intern.h:207: error: invalid type in declaration before ';' token Toy C extensions compile just fine. Wrapping the '#include ' in "extern "C" { ... }" makes no difference. I'm going bonkers trying to figure this out. Any ideas? I want to resume work on Ruby/FLTK but I'm stuck until this is fixed, so I'd really appreciate some help. Details: GNU/Linux, kernel 2.6.21 , gcc 3.4.3 , ruby configuration : ./configure \ --prefix=/usr \ --enable-shared \ --enable-pthread \ --enable-install-doc Thanks in advance, Jeremy Henty