# Something broke ruby floats

**URL:** <https://www.ruby-forum.com/t/something-broke-ruby-floats/179565>\
**Category:** Ruby\
**Created:** [November 28, 2009, 6:38pm UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565 "2009-11-28T18:38:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [November 28, 2009, 6:38pm UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/1 "2009-11-28T18:38:39Z")

</div>

Noticed this after rebuilding ruby (with configure args  
–disable-pthread --enable-shared):

~/src/ruby\> RUBYOPT=’’ ./ruby -e ‘x=0.123; puts x’  
123.0  
~/src/ruby\> ldd ./ruby  
linux-gate.so.1 =\> (0x00b0e000)  
libruby.so.1.8 =\> /usr/local/lib/libruby.so.1.8 (0x00236000)  
libdl.so.2 =\> /lib/tls/i686/cmov/libdl.so.2 (0x00132000)  
libcrypt.so.1 =\> /lib/tls/i686/cmov/libcrypt.so.1 (0x007b8000)  
libm.so.6 =\> /lib/tls/i686/cmov/libm.so.6 (0x00d63000)  
libc.so.6 =\> /lib/tls/i686/cmov/libc.so.6 (0x00394000)  
/lib/ld-linux.so.2 (0x0067e000)  
~/src/ruby\> ./ruby -v  
ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux]

(same after make install)

Any ideas what broke? I’ve never seen anything like this before, and  
I’ve been using p287 on several systems for months (at least). This is  
on ubuntu karmic.

Further info:

~/src/ruby\> make check  
not ok float 1 – ./sample/test.rb:1172  
not ok float 2 – ./sample/test.rb:1173  
not ok float 3 – ./sample/test.rb:1174  
not ok float 4 – ./sample/test.rb:1175  
not ok float 5 – ./sample/test.rb:1176  
not ok float 6 – ./sample/test.rb:1177  
not ok float 7 – ./sample/test.rb:1178  
not ok float 8 – ./sample/test.rb:1179  
not ok float 9 – ./sample/test.rb:1180  
test failed  
make: \*\*\* [test] Error 1

---

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [November 28, 2009, 11:15pm UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/2 "2009-11-28T23:15:26Z")

</div>

CC’ing ruby-core@

---

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [November 29, 2009, 5:40am UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/3 "2009-11-29T05:40:30Z")

</div>

> > ~/src/ruby\> RUBYOPT=’’ ./ruby -e ‘x=0.123; puts x’  
> > 123.0

on Ubuntu 8.04.3 LTS I don’t seem to get it.

$ ./ruby -ve ‘x=0.123; puts x’  
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]  
0.123

If that is any help.  
-r

---

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [November 29, 2009, 7:52am UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/4 "2009-11-29T07:52:11Z")

</div>

Roger P. wrote:

> -r  
> That’s consistent with my experience through ubuntu 9.04. Also, the  
> ubuntu-packaged ruby (which is 1.8.7) doesn’t have the problem in 9.10.

It appears to be a gcc version issue. With 4.4.1, floats break; with  
4.3.4, all is ok.

Maybe this is related to the date parsing issue with 4.4.1 (when  
building the syntax gem).

It sounds like gcc 4.4.2 fixes some “serious bugs” in 4.4.1 [1], but the  
ubuntu packagers are reluctant to upgrade.[2] Fortunately, gcc-4.3 is  
easy to apt-get.

[1] [http://freesoftnews.com/archives/18347](http://freesoftnews.com/archives/18347)

[2] [Question #91976 “need gcc-4.4.2 for certain ruby libs” : Questions : gcc-4.4 package : Ubuntu](https://answers.launchpad.net/ubuntu/+source/gcc-4.4/+question/91976)

---

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [December 1, 2009, 5:37pm UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/5 "2009-12-01T17:37:05Z")

</div>

> It sounds like gcc 4.4.2 fixes some “serious bugs” in 4.4.1 [1], but the  
> ubuntu packagers are reluctant to upgrade.[2] Fortunately, gcc-4.3 is easy  
> to apt-get.

Does 4.4.2 fix these floating point weirdnesses then?  
-r

---

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [November 29, 2009, 8:04am UTC](https://www.ruby-forum.com/t/something-broke-ruby-floats/179565/6 "2009-11-29T08:04:29Z")

</div>

Ryan D. wrote:

> CC’ing ruby-core@

Thanks.

Brief update: building with gcc-4.3 seems to fix the issue, and `make check` passes, except for one test in SOAP.
