Jeremy Henty
7/30/2007 4:09:00 PM
Upgrading 1.8.6 to 1.8.6-p36 has stopped C++ extensions from
compiling. If I create a file foo.cc containing:
#include <ruby.h>
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 <ruby.h>'
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