ANN: Ruby 1.8.6 pl398 released

Ruby 1.8.6 pl398 has been released. This release includes fixes for
both win32 builds (thanks Luis!) and fixes a bug with extensions on
Snow Leopard (thanks James!), as well as several other important
backports and bug fixes, including a fix for IO#select that would
cause it to sometimes return incorrect results when there multiple
calls in progress on different threads.

It is available from ruby-lang.org in the following locations:

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

MD5(ruby-1.8.6-p398.tar.bz2)= fbd43dc44ee26be4d37e6bebbed6f8bd
SHA256(ruby-1.8.6-p398.tar.bz2)=
9890c5eb899f19d5bca7b9b04bba597d14ec6627e992ee376143147c19e3990d
SIZE(ruby-1.8.6-p398.tar.bz2)= 3972884

MD5(ruby-1.8.6-p398.tar.gz)= 736db5f56c2d9b0136e563d049249fa8
SHA256(ruby-1.8.6-p398.tar.gz)=
37181c88a8bb6903da9ff2e61c5cb5a3068f11bcd7037c4e0ddd8c5d59da0d22
SIZE(ruby-1.8.6-p398.tar.gz)= 4581011

MD5(ruby-1.8.6-p398.zip)= e57e9cded6225b1681609a40f1de4a67
SHA256(ruby-1.8.6-p398.zip)=
9c6edb867cbce101906a121228f1169ace72fbf12281b288c839e302d0451307
SIZE(ruby-1.8.6-p398.zip)= 5627151

Austin Z. reported last night that he was seeing an off-by-10
error with floating point numbers, but I believe that the problem he
reported is the same as was reported here:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/26937

GCC 4.4.1 has some serious bugs, and that is what Ubuntu 9.04 ships
with. Use apt-get to upgrade, and the problem should go away.

If it does not, or anyone encounters any other unexpected issues,
please feel free to contact me.

Kirk H.
[email protected]

Great work Kirk, we all appreciate your efforts!

Thank you!

~Wayne

On Feb 4, 2010, at 10:33 AM, Kirk H. wrote:

fixes a bug with extensions on Snow Leopard (thanks James!)

Don’t thank me yet. Your preview worked for me, but this final version
does not. :frowning:

Here’s the error:

$ make
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c array.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c bignum.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c class.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c compar.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c dir.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c dln.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c enum.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c error.c
gcc -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -DRUBY_EXPORT -I.
-I. -c eval.c
eval.c: In function ‘rb_eval_string_wrap’:
eval.c:1743: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_eval_cmd’:
eval.c:1884: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘call_trace_func’:
eval.c:2735: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_raise_jump’:
eval.c:4760: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘method_missing’:
eval.c:5684: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_call0’:
eval.c:5847: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_f_eval’:
eval.c:6634: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘exec_under’:
eval.c:6658: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_load’:
eval.c:6894: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘call_end_proc’:
eval.c:7924: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘rb_f_END’:
eval.c:7937: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘mproc’:
eval.c:9557: warning: assignment discards qualifiers from pointer target
type
eval.c: In function ‘thread_timer’:
eval.c:12010: error: expected expression before ‘{’ token
eval.c:12024: error: expected ‘;’ before ‘}’ token
eval.c: At top level:
eval.c:12026: error: expected identifier or ‘(’ before ‘return’
eval.c:12027: error: expected identifier or ‘(’ before ‘}’ token
eval.c: In function ‘rb_thread_start_timer’:
eval.c:12038: error: expected expression before ‘{’ token
eval.c:12044: error: expected ‘;’ before ‘}’ token
eval.c: At top level:
eval.c:12045: error: expected identifier or ‘(’ before ‘}’ token
eval.c: In function ‘rb_thread_stop_timer’:
eval.c:12051: error: expected expression before ‘{’ token
eval.c:12053: error: expected ‘;’ before ‘}’ token
eval.c: At top level:
eval.c:12054: error: expected ‘)’ before ‘.’ token
eval.c:12055: warning: data definition has no type or storage class
eval.c:12055: error: non-static declaration of ‘thread_init’ follows
static declaration
eval.c:11951: error: previous declaration of ‘thread_init’ was here
eval.c:12056: error: expected identifier or ‘(’ before ‘}’ token
eval.c: In function ‘rb_child_atfork’:
eval.c:12061: error: ‘time_thread_alive_p’ undeclared (first use in this
function)
eval.c:12061: error: (Each undeclared identifier is reported only once
eval.c:12061: error: for each function it appears in.)
eval.c: In function ‘rb_thread_cancel_timer’:
eval.c:12068: error: ‘time_thread_alive_p’ undeclared (first use in this
function)
eval.c:12070: error: incompatible type for argument 1 of
‘pthread_cancel’
eval.c:12071: error: incompatible type for argument 1 of ‘pthread_join’
{standard input}:unknown:Undefined local symbol LC185
{standard input}:unknown:Undefined local symbol LC311
{standard input}:unknown:Undefined local symbol LC317
{standard input}:unknown:Undefined local symbol LC319
{standard input}:unknown:Undefined local symbol LC333
make: *** [eval.o] Error 1

I configured it with:

./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
–with-readline-dir=/usr/local

James Edward G. II

Kirk H. wrote:

GCC 4.4.1 has some serious bugs, and that is what Ubuntu 9.04 ships
with. Use apt-get to upgrade, and the problem should go away.

Clarification: apt-get upgrade won’t help, because 4.4.1 is still the
leading version in the ubuntu karmic (9.10) repositories, even if you
include backports. The alternative is:

apt-get install gcc-4.3

And then set CC=“gcc-4.3” (or use update-alternatives).

On Thu, Feb 4, 2010 at 10:07 AM, James Edward G. II
[email protected] wrote:

On Feb 4, 2010, at 10:33 AM, Kirk H. wrote:

fixes a bug with extensions on Snow Leopard (thanks James!)

Don’t thank me yet. Your preview worked for me, but this final version does not. :frowning:

Oh, now, that is curious. That’s on Snow Leopard? Those errors are
arising from a backport of a threading patch. Let’s figure this out
and get a pl399 out that fixes it. I’ll get in touch with you outside
of the ML shortly.

Kirk