Red Hat Bugzilla – Bug 602435
Rebase Ruby from 1.8.6 to 1.8.7 for Rails3 Support
Last modified: 2013-03-13 16:40:51 EDT
Description of problem:
To run Rails3, the minimum required version of ruby is 1.8.7.
RHEL6 currently includes only ruby-220.127.116.119-5.1.el6.
The choices for Rails-3 support are ruby 1.8.7, or 1.9.2+ (which is a bigger change from 1.8.6).
Version-Release number of selected component (if applicable):
I have not attempted to run the latest rails3 against this version, since the release notes claim it doesn't meet the requirements.
Version requirements can be found here:
Excerpt (9 June 2010):
> 1.1 Rails 3 requires Ruby 1.8.7+
> Rails 3.0 requires Ruby 1.8.7 or higher. Support for all of the previous Ruby
> versions has been dropped officially and you should upgrade as early as
> possible. Rails 3.0 is also compatible with Ruby 1.9.2.
> Note that Ruby 1.8.7 p248 and p249 has marshaling bugs that crash
> Rails 3.0.0. Ruby Enterprise Edition have these fixed since
> release 1.8.7-2010.02 though. On the 1.9 front, Ruby 1.9.1 is
> not usable because it outright segfaults on Rails 3.0.0, so
> if you want to use Rails 3 with 1.9.x jump on 1.9.2 for smooth
Also covered in the forthcoming book about Rails3, of which the creator of Rails is a co-author. See the "Agile Development With Ruby on Rails" book on http://pragprog.com for details.
The book referenced above is detailed here:
What's the business case on this request?
Well, I'm sorry but unfortunately I'd not support on this as far as possible, because:
* Migrating ruby to 1.9 or even 1.8.7 isn't yet finished in even Fedora; it's being planned in f14.
* need extra work on QE side to make sure functionalities and compatibilities because too much changes has been made between 1.8.6 and even 1.8.7.
* also need extra work on engineering side to keep a sort of compatibilities to the past releases to not confuse users.
Even though those has been released some while ago and many users outside Fedora/RHEL should uses, I believe we have to run on the same rail to see if it works for Fedora/RHEL. so I'd say this should be done in Fedora first and see how it going on.
Please also include the other items built in the ruby SRPM, such as ruby-irb. List follows. Not a big deal to me if ruby-tcltk is omitted.
See also bug 604211 -- rubygems is required to add additional modules (such as Rails) in the ruby 1.8.x series. (rubygems is built into ruby-1.9.x.)
Thanks for the testing.
What type of system is that on?
If I can reach it, please tell me its name.
Actually, I've just reproduced both failures.
The readline one is spurious.
Avoid it by setting TERM=dumb in your environment:
$ TERM=dumb bin/testrb test/readline/test_readline.rb
2 tests, 11 assertions, 0 failures, 0 errors
looking into the gdbm one now...
readline inspects terminal ($TERM) capabilities.
When possible it uses escape sequences.
regarding the gdbm failure, that error message is misleading:
this test is failed on libgdbm 1.8.0.
It should say something like this instead:
this test has failed. It is expected to fail if you are using libgdbm 1.8.0
In other words, it's another poor test.
They should detect that we're using 1.8.0 and skip the test or mark it as expected-fail so it doesn't even show up as a problem.
Or perhaps, we should take this as a cue to upgrade to a newer version of gdbm, in case some of our customers are using ruby and gdbm.
Yikes! gdbm-1.8.0 is *11* years old.
The latest is gdbm-1.8.3, which is "only" 9 years old.
filing a BZ now...
Here's the gdbm BZ:
gdbm-1.8.0 is way too old: upgrade to 9-yr-old 1.8.3
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.