Ruby oddity (pthreads)

Jeremy Messenger mezz7 at
Mon Mar 27 05:21:56 UTC 2006

On Wed, 22 Mar 2006 09:22:50 -0600, MANTANI Nobutaka  
<nobutaka at> wrote:

> At Sun, 12 Mar 2006 12:13:13 -0600,
> Jeremy Messenger wrote:
>> On Sun, 12 Mar 2006 11:19:23 -0600, Makoto Matsushita
>> <matusita at> wrote:
>> >> I made threaded ruby the default, because the Gtk+/GNOME bindings for
>> >> Ruby rely on it being threaded.  There are some rather nice apps  
>> using
>> >> those libraries...
>> But, all they need are ${PTHREAD_LIBS} and it will working w/out enable
>> thread. The ruby-gtk2/ruby-gnome2 aren't alone, it also for ruby-opengl,
>> ruby-sdl, ruby-wx and etc.
> Exactly. I have made a patch for lang/ruby18 to disable pthread by  
> default
> and link ${PTHREAD_LIBS} regardless of pthread support, and I confirmed  
> that
> migemo, ruby-gtk2 and ruby-gnome2 works without problem.
>> > Reasonable, so we have to make lang/ruby18 ports to two ports -- one  
>> is
>> > for
>> > pthread ruby and another is non-pthreaded ruby.  Both ports must be
>> > installed
>> > to the same system without any conflicts.  Any volunteers, or we have  
>> to
>> > wait
>> > until my superman, nork-san has a free time to do that? :-)
>> No thanks, we used to have ruby18 and ruby18_r, and it was messy and
>> headache. I am the one that suggested to remove and everything was  
>> solved
>> by using ${PTHREAD_LIBS} with disable pthread. I would like to see we go
>> back to same way what lofi and I did with ruby before.
> I second this. Pthread support of ruby-1.8.4 is still incomplete. Pthread
> functions are only used for implementing thread timer for ruby threads.
> Therefore I don't see any benefit from enabling pthread support.
> And I think that thread stack expantion hack like HUGE_STACK_SIZE option
> in lang/python port is required if we use pthreaded ruby.
> So I'm going to commit the patch mentioned above and remove  
> lang/ruby18-nopthread port.
> The patch is available from  
> Are there any objections?

No object by me by my glace, but you might want to ask Pav for how to test  
it with ruby-tk. Pav said that he has to enable pthread to make ruby-tk  
works. However, it might be good idea to add a comment of warning under  
WITH_PTHREAD about that it might break a few of ruby apps.


>> > We have another problems here; what is the default ruby, pthreaded or
>> > non-phtreaded.  My vote goes to non-pthreaded, since "default to
>> > pthreaded"
>> > may slow for users who doesn't require pthread.
>> Hopeful either Ruby 1.9 or Ruby 2 will solving all of issues with new
>> thread stuff.
> I hope so. FYI, I hear that SASADA Koichi is trying to implement native  
> threads
> (pthread and win32 thread) support in his YARV (Yet Another Ruby VM)  
> project.
> YARV: Yet Another Ruby VM
> --
> MANTANI Nobutaka
> nobutaka at, nobutaka at

mezz7 at  -  mezz at
FreeBSD GNOME Team  -  gnome at

More information about the freebsd-ports mailing list