Currently fastthread needs to be patched by hand to make it work with
ruby 1.9.
You can read about how to patch it for instance here:
http://blog.phusion.nl/2009/02/02/getting-ready-for-ruby-191/
There are still a lot of gems that are not 1.9 ready,
you might find some useful resource here:
Cheers,
Luis Landeiro Ribeiro
Leo Joe wrote:> Is anybody testing mongrel on ruby 1.9.1
> I just tried installing mongrel and got this error
>
>
> [root at mysql02 fastthread-1.0.1]# gem install mongrel
> Building native extensions. This could take a while...
> /usr/local/lib/ruby/1.9.1/rubygems/ext/builder.rb:48: warning: Insecure
> world writable dir /bin in PATH, mode 040777
> ERROR: Error installing mongrel:
> ERROR: Failed to build gem native extension.
>
> /usr/local/bin/ruby extconf.rb install mongrel
> creating Makefile
>
> make
> gcc -I. -I/usr/local/include/ruby-1.9.1/i686-linux
> -I/usr/local/include/ruby-1.9.1/ruby/backward
> -I/usr/local/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -fPIC -O2
> -g -Wall -Wno-parentheses -o fastthread.o -c fastthread.c
> fastthread.c:13:20: error: intern.h: No such file or directory
> In file included from fastthread.c:14:
> /usr/local/include/ruby-1.9.1/ruby/backward/rubysig.h:14:2: warning:
> #warning rubysig.h is obsolete
> fastthread.c:349: error: static declaration of ?rb_mutex_locked_p?
> follows non-static declaration
> /usr/local/include/ruby-1.9.1/ruby/intern.h:707: error: previous
> declaration of ?rb_mutex_locked_p? was here
> fastthread.c:366: error: static declaration of ?rb_mutex_try_lock?
> follows non-static declaration
> /usr/local/include/ruby-1.9.1/ruby/intern.h:708: error: previous
> declaration of ?rb_mutex_try_lock? was here
> fastthread.c: In function ?lock_mutex?:
> fastthread.c:392: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c:392: error: (Each undeclared identifier is reported only
> once
> fastthread.c:392: error: for each function it appears in.)
> fastthread.c: At top level:
> fastthread.c:406: error: static declaration of ?rb_mutex_lock? follows
> non-static declaration
> /usr/local/include/ruby-1.9.1/ruby/intern.h:709: error: previous
> declaration of ?rb_mutex_lock? was here
> fastthread.c: In function ?set_critical?:
> fastthread.c:438: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c: In function ?unlock_mutex?:
> fastthread.c:447: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c: At top level:
> fastthread.c:463: error: static declaration of ?rb_mutex_unlock? follows
> non-static declaration
> /usr/local/include/ruby-1.9.1/ruby/intern.h:710: error: previous
> declaration of ?rb_mutex_unlock? was here
> fastthread.c: In function ?rb_mutex_exclusive_unlock?:
> fastthread.c:499: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c: At top level:
> fastthread.c:524: error: conflicting types for ?rb_mutex_synchronize?
> /usr/local/include/ruby-1.9.1/ruby/intern.h:712: error: previous
> declaration of ?rb_mutex_synchronize? was here
> fastthread.c: In function ?wait_condvar?:
> fastthread.c:620: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c:626: warning: passing argument 1 of ?rb_ensure? from
> incompatible pointer type
> fastthread.c: In function ?rb_condvar_broadcast?:
> fastthread.c:684: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c: In function ?signal_condvar?:
> fastthread.c:703: error: ?rb_thread_critical? undeclared (first use in
> this function)
> fastthread.c: In function ?rb_queue_marshal_load?:
> fastthread.c:824: error: ?struct RArray? has no member named ?len?
> fastthread.c:828: error: ?struct RArray? has no member named ?ptr?
> fastthread.c:828: error: ?struct RArray? has no member named ?len?
> fastthread.c: In function ?Init_fastthread?:
> fastthread.c:1182: error: ?rb_thread_critical? undeclared (first use in
> this function)
> make: *** [fastthread.o] Error 1
>
>
> Gem files will remain installed in
> /usr/local/lib/ruby/gems/1.9.1/gems/fastthread-1.0.1 for inspection.
> Results logged to
>
/usr/local/lib/ruby/gems/1.9.1/gems/fastthread-1.0.1/ext/fastthread/gem_make.out
>