ruby-activerecord-3.2 depends on wrong version of ruby-arel and ruby-tzinfo

Bug #1319376 reported by Wladimir Mutel
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
rails (Ubuntu)
Confirmed
Undecided
Unassigned
ruby-activerecord-3.2 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

How to reproduce : install clean Trusty LTS,
then install ruby-rack1.4 to avoid conflicts with ruby-rack (see bug lp:1319367),
then install rails (2:3.2.13+1, component versions 3.2.16-1).
Then run 'rails new something' to create a new Rails project.
Then install : ruby-jquery-rails , ruby-coffee-rails , ruby-sqlite3 , ruby-sass-rails , ruby-uglifier so that 'rails new' can continue.
Then remove directory 'something' and run 'rails new something' again
On the step 'run bundle install --local' , get a message :

Resolving dependencies...
Could not find gem 'arel (~> 3.0.2) ruby', which is required by gem 'rails (= 3.2.16) ruby', in any of the sources.

Check ruby-arel version and find that it is 4.0.0-2. Go to http://packages.ubuntu.com/search?keywords=ruby-arel , pick ruby-arel 3.0.2-3 from Raring (13.04), download its .deb and install it manually.

Repeat: remove directory 'something' , run 'rails new something'. Get a message :

Could not find gem 'tzinfo (~> 0.3.29) ruby', which is required by gem 'rails (= 3.2.16) ruby', in any of the sources.

See that its version is 1.1.0-1 in Trusty. Go to http://packages.ubuntu.com/search?keywords=ruby-tzinfo , pick version 0.3.33-3 from Saucy (13.10), download&install it manually.

Repeat: 'rm -r something ; rails new something'. Now it finally completes normally. Just remember that you can't run 'safe-upgrade' on your system because new Trusty .debs will break gem dependencies again.

I would appreciate more care about having working Rails in Ubuntu 14.04. It's an LTS release after all.
I will repeat the same test case under Debian Wheezy and Debian Sid to give you a sample for comparison.
Probably some Debian Sid fixes should be integrated into Ubuntu LTS.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in rails (Ubuntu):
status: New → Confirmed
Changed in ruby-activerecord-3.2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Thiago Martins (martinx) wrote :

Same problem here... On Ubuntu Trusty, I have the following packages installed (using apt-get):

ruby-rails-3.2 3.2.16-1
ruby-arel 4.0.0

But, when I tried to fix those Ubuntu packages versions at my Gemfile, like this:

gem 'rails', '3.2.16'
gem 'arel', '4.0.0'

and run "bundle update", I'm getting the following error:

---
Bundler cloud not find compatible versions for gem "arel":
 In Gemfile:
    rails (= 3.2.16) ruby depends on
        arel (~> 3.0.2) ruby

    arel (4.0.0)
---

Apparently, Trusty isn't ready for production for RoR Applications "as-is".

-
 Thiago

Revision history for this message
Thiago Martins (martinx) wrote :

Hi!

I just backported `rails-3.2` from Utopic, to Trusty. Problem solved!

Now, I can use "Arel 4.0.0", from Trusty, with Rails 3.2.19 from Utopic (backported to Trusty).

Repository:

add-apt-repository ppa:martinx/ig

Cheers!
Thiago

Revision history for this message
Wladimir Mutel (mwg) wrote :

What about integrating these fixes into LTS 14.04 ?

Revision history for this message
Ildar Nizamov (jedi-2b3) wrote :

In directory /usr/share/rubygems-integration/1.9.1/specifications/find files contains string like '<arel>, ["~> 3.0.2"]' (just `grep '~> 3.0.2' /usr/share/rubygems-integration/1.9.1/specifications/*.gemspec`). In such strings change '~>' to '>='. Repeat for '<tzinfo>, ["~> 0.3.29]'. Now you can run `rails server` without that bug.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.