Ruby oddity (pthreads)
MANTANI Nobutaka
nobutaka at freebsd.org
Wed Mar 22 15:23:24 UTC 2006
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?
> > 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
More information about the freebsd-ports
mailing list