# Fastthread error

**URL:** <https://www.ruby-forum.com/t/fastthread-error/159968>\
**Category:** Mongrel\
**Created:** [February 10, 2009, 2:07pm UTC](https://www.ruby-forum.com/t/fastthread-error/159968 "2009-02-10T14:07:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![leojoesdb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/779978/32.png) [@leojoesdb](https://www.ruby-forum.com/u/leojoesdb)\
**Post date:** [February 10, 2009, 2:07pm UTC](https://www.ruby-forum.com/t/fastthread-error/159968/1 "2009-02-10T14:07:54Z")

</div>

Is anybody testing mongrel on ruby 1.9.1  
I just tried installing mongrel and got this error

[root@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

---

<div class="post-metadata">

**Author:** ![leojoesdb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/779978/32.png) [@leojoesdb](https://www.ruby-forum.com/u/leojoesdb)\
**Post date:** [February 10, 2009, 3:13pm UTC](https://www.ruby-forum.com/t/fastthread-error/159968/2 "2009-02-10T15:13:30Z")

</div>

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:

> **[Getting ready for Ruby 1.9.1](https://old.blog.phusion.nl/2009/02/02/getting-ready-for-ruby-191/)**
>
> We are excited about Ruby 1.9.1. Of course, with all the performance improvements, who wouldn’t be? Unfortunately a large number of Ruby libraries and extensions still don’t work on 1.9…

There are still a lot of gems that are not 1.9 ready,  
you might find some useful resource here:

Cheers,  
Luis Landeiro R.
