ANN: Ruby 1.8.6 pl383 released

K

Kirk Haines

I am happy to announce that Ruby 1.8.6 pl383 was been released.

This release is primarily a bugfix release.

* lib/rdoc/parsers/parse_c.rb: Fixed a small error in the documentation.
* ext/tk/extconf.rb: Added some additional paths where TCL
files are common found; fixes problems with building on some
distributions.
* lib/complex.rb: Adjust #angle/#arg NaN return as per issue
#1715 and recent rubyspec changes. Adjust angle/arg handling of
(-0.0).angle as per r23960 & recent rubyspec changes.
* numeric.c, bignum.c: Applied changes from r23730. Infinity
is > any bignum number in comparisons.
* configure.in: fixed problems with using $libdir instead of
$prefix/lib for RUBY_LIB and friends.
* file.c: Added FCNTL inclusion to fix a compile error with
solaris (backport from r22812)
* gc.c: Fixed Backport #1322 [ruby-core:23050], backport of
r23257; Fixes a define_method scope bug.
* gc.c: Add a check for DATA_PTR(obj) to run_final as a
stopgap fix for debilitating segfaults.
* gc.c: Fixes warning: passing argument 1 of 'add_freelist'
makes pointer from integer without a cast
* node.h: Remove surplus comma
* ext/socket/extconf.rb: Corrected function definitions to
specify return values.
* lib/date.rb: Removed private on to_date and to_datetime
* configure.in: Little fixes for x64 libdir/sitedir.
* lib/ostruct.rb: Fixed buggy openstruct#inspect recursion.
* test/ostruct/test_ostruct.rb: Modified tests to fit the #inspect fix.

The most significant changes are in gc.c. If you have experienced
inexplicable segmentation faults with Ruby 1.8.6 pl369 or Ruby 1.8.6
pl369, you should look at upgrading.

Source archives of this release are available at:

ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.6-p383.tar.bz2
ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.6-p383.tar.gz
ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.6-p383.zip

As always, feel free to contact me with any questions or concerns.


Kirk Haines
(e-mail address removed)
 
J

Joel VanderWerf

Kirk said:
I am happy to announce that Ruby 1.8.6 pl383 was been released.

Has something changed in how pthread is turned off?

In my old build dir of ruby-1.8.6-p287, I have:

$ grep disable-pthread config*
config.log: $ ./configure --disable-pthread --with-tcl-dir=/usr/local
--with-tk-dir=/usr/local --disable-tcl-thread
$ ldd ruby | grep thread
$

I'm not sure all those switches were needed (I get warnings about the
last 3 now), but it works--ruby/tk doesn't crash.

Now, with p383, I get this:

$ ./configure --disable-pthread --with-tcl-dir=/usr/local
--with-tk-dir=/usr/local --disable-tcl-thread
[warnings about the last three switches]
$ make
$ ldd ruby | grep thread
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7de0000)

Same thing happens if I do simply:

$ ./configure

What do I need to do to get ruby to not use pthread? Shouldn't pthread
be disabled by default, since "--enable-pthread" is listed under
optional features?
 
K

Kirk Haines

Has something changed in how pthread is turned off?

This is a good catch, Joel. I was just able to confirm similar
results. I'll debug this and get back to you.


Kirk Haines
 
L

Luis Lavena

This is a good catch, Joel.  I was just able to confirm similar
results.  I'll debug this and get back to you.

Perhaps this is related to pthread been always detected, even when --
disable-pthread has been explicitly indicated?

I remember report it to Redmine but cannot find the specific revision
on 1.9.1
 
L

Luis Lavena

Perhaps this is related to pthread been always detected, even when --
disable-pthread has been explicitly indicated?

I remember report it to Redmine but cannot find the specific revision
on 1.9.1

Found it:

r23601:

configure.in (THREAD_MODEL): reject unknown value and checks pthread.h
only when pthread. [ruby-core:23577]

I believe that needs to be backported to 1.8 and 1.8.6 since is a
problem introduced by previous pthread related commits and backports.

Cheers,
 
K

Kirk Haines

Found it:

r23601:

configure.in (THREAD_MODEL): reject unknown value and checks pthread.h
only when pthread. [ruby-core:23577]

I believe that needs to be backported to 1.8 and 1.8.6 since is a
problem introduced by previous pthread related commits and backports.

You rock Luis. I'll put that on my todo list.


Thanks,

Kirk Haines
 
A

Alex Legler

I've backported this into 1.8 as revision r24534. Please check.

That unfortunately doesn't help.

While diffing through configure.in between p287 and p383, I noticed
this:

+AC_CHECK_LIB(rt, clock_gettime) # GNU/Linux

Ruby now links against librt, as introduced for a new implementation of
timeofday() proposed on ruby-core [1]. And librt again, *surprise*,
links against libpthread.

Afaik the link dependencies are flattened, and so that should be
where the libpthread link comes from.

Alex
(Sorry about that empty email earlier)

[1] http://www.ruby-forum.com/topic/151618
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top