[Mongrel] fastthread error

Luis Ribeiro ribeiro.luis at gmail.com
Tue Feb 10 08:58:25 EST 2009


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
>   



More information about the Mongrel-users mailing list