Ruby oddity (pthreads)

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


On Wed, 22 Mar 2006 09:22:50 -0600, MANTANI Nobutaka  
<nobutaka at freebsd.org> 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 jp.FreeBSD.org> 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.
>>
>> http://lists.freebsd.org/pipermail/cvs-ports/2005-February/058420.html
>
> 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  
> http://people.freebsd.org/~nobutaka/ruby-ports-20060321.diff.
> 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.

Cheers,
Mezz

>> > 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.
>>
>> http://lists.freebsd.org/pipermail/cvs-ports/2006-January/084479.html
>>
>> 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
> http://www.atdot.net/yarv/
>
>
> --
> MANTANI Nobutaka
> nobutaka at nobutaka.org, nobutaka at freebsd.org


-- 
mezz7 at cox.net  -  mezz at FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome at FreeBSD.org


More information about the freebsd-ports mailing list