I’ve just upgraded to Ruby 1.8.7 using MacPorts (ruby @1.8.7-
p72_1+thread_hooks) and while it runs flawlessly, the performance is
really really poor.
Could someone explain this to to me. I checked the macports page a few
days back and it said it disables/deletes -enable-pthreads due to some
bug. So does that not mean that it’s not there. As pointed above, it
uses thread_hooks instead.
Is there any commandline option or other way of my ascertaining
whether my install uses pthreads or not.
Another newb question:
One of the prev posts suggests altering config.h and running
./configure. However, if one is using sudo port install how does one do
this? I do not have a “configure” in my ruby folder and my config.h
(/opt/local/var/macports/software/ruby/1.8.7-p22_3+darwin_9_powerpc+thread_hooks/opt/local/lib/ruby/1.8/powerpc-darwin9.4.0/config.h)
does not contain GETCONTEXT.
Could someone explain this to to me. I checked the macports page a few
days back and it said it disables/deletes -enable-pthreads due to some
bug. So does that not mean that it’s not there. As pointed above, it
uses thread_hooks instead.
apparently somebody said that the most recent macport of it now compiles
with pthreads disabled.
Is there any commandline option or other way of my ascertaining
whether my install uses pthreads or not.
from [1]
Maybe try with “ldd” on the ruby binaries–can’t remember what the mac
equivalent is but it exists.
Another newb question:
One of the prev posts suggests altering config.h and running
./configure. However, if one is using sudo port install how does one do
this? I do not have a “configure” in my ruby folder and my config.h
(/opt/local/var/macports/software/ruby/1.8.7-p22_3+darwin_9_powerpc+thread_hooks/opt/local/lib/ruby/1.8/powerpc-darwin9.4.0/config.h)
does not contain GETCONTEXT.
If you install it from source you should be able to get at it
right…not sure using macports.
btw, will installing 1.9 from macports create a separate executable
such
as ruby1.9 so we can run 8 and 9 in parallel. Or overwrite?
The ruby19 Portfile sets the --program-suffix argument of configure to
1.9, so yes you could install Ruby 1.8 and Ruby 1.9 at the same time
on the same machine.
On Tue, 25 Nov 2008 13:55:31 +0900
Jason L. [email protected] wrote:
Hi Nakatani-san,
That was really helpful information. I digged a bit more based upon
that thread, and for those who compile Ruby 1.8.7 from source on OS X,
here’s a more handy way: add ‘ac_cv_func_getcontext=no
ac_cv_func_setcontext=no’ along with --enable-pthread, e.g.:
Oh,I missed to follow this problem.
This bug was fixed with 1.8.7-p72_2 of MacPorts, that was reported at
ruby-list:45621(japanese only).
(ruby 1.8.7-p72_1 of MacPorts has bug)
You can use the most up-to-date ruby of MacPorts without any extra
option.
That was really helpful information. I digged a bit more based upon
that thread, and for those who compile Ruby 1.8.7 from source on OS X,
here’s a more handy way: add ‘ac_cv_func_getcontext=no
ac_cv_func_setcontext=no’ along with --enable-pthread, e.g.:
./configure --enable-pthread --enable-shared ac_cv_func_getcontext=no
ac_cv_func_setcontext=no
Then the following lines won’t appear on your config.h: #define HAVE_GETCONTEXT 1 #define HAVE_SETCONTEXT 1
Just my 2 cents,
Jason
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.