Initialising error on Ubuntu 11.10

After upgrading to Ubuntu 11.10 from 11.04 my Rails application does not start properly

$ script/server /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/ dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'   from /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support.rb: 56   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'   from /var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/server.rb:1   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'   from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'   from script/server:3

I am running

ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

activesupport-2.3.5

Does somebody have an idea how to fix this problem?

After upgrading to Ubuntu 11.10 from 11.04 my Rails application does not start properly

Are you using rvm to control versions of everything? If not then I suspect the upgrade to 11.10 has updated some stuff from the repositories and you now have inconsistent versions. Googling for your error message suggests that. You might be best to start using rvm and then you will know you have a consistent set. Since I moved over to it life has been much easier.

Colin

Ok, seems to be a good habit and something to do for next environment update. For the time being I would like to know what is happening.

First the script to initialise:

~$ cd railstest/rrbok ~/.../rrbok$ more script/server #!/usr/bin/env ruby require File.expand_path('../../config/boot', __FILE__) require 'commands/server' ~/.../rrbok$

so the offending line is "require 'commands/server'"

and then I have checked the environment:

~$ gem environment RubyGems Environment:   - RUBYGEMS VERSION: 1.7.2   - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]   - INSTALLATION DIRECTORY: /var/lib/gems/1.8   - RUBY EXECUTABLE: /usr/bin/ruby1.8   - EXECUTABLE DIRECTORY: /usr/local/bin   - RUBYGEMS PLATFORMS:     - ruby     - x86-linux   - GEM PATHS:      - /var/lib/gems/1.8      - /home/tpollak/.gem/ruby/1.8   - GEM CONFIGURATION:      - :update_sources => true      - :verbose => true      - :benchmark => false      - :backtrace => false      - :bulk_threshold => 1000   - REMOTE SOURCES:      - http://rubygems.org/ ~$

I can not see any problem with the environment as listed. So what is "require 'commands/server'"?

Did you try googling the error message as I suggested. The first hit is

which looks like it might be your problem, see the second Answer.

Colin

Thanks!

Adding the line "require 'thread'" before "require 'commands/server'" fixed the problem.

Though I still do not understand why this is necessary with 11.10 but not 11.04.

How did you install rubygems? What do you see if you do apt-cache policy rubygems

Colin

Sorry, but I can not remember how I installed rubygems. I certainly tried with the Ubuntu (10.10) packages first.

$ apt-cache policy rubygems rubygems: Installed: 1.7.2-1 Candidate: 1.7.2-1

So you installed it from the Ubuntu repository. When you upgraded ubuntu it probably upgraded rubygems to one that is not compatible with your version of Rails, as documented in the link I posted.

You could uninstall rubygems and then re-install an appropriate version manually. I don't know whether you would have to re-install ruby in rvm. Alternatively I believe that if you change to ruby 1.9 then it includes rubygems. Or you can just stick with what you have done if it is working for you.

Colin

Degrading gem version (ex : 1.3.7 )hope it helps to resolve below error

Mehdi