Hey Christos, Thanks for your time and effort. You're absolutely right. I didn't realize a packaged version of rack was installed on the server.
require 'rubygems'; require 'rack'; Rack.release => "1.1" - Mike On Thu, Jun 16, 2011 at 3:17 PM, Christos Zisopoulos <[email protected]>wrote: > Hello Mike, > > On 15 Jun 2011, at 20:24, Mike Judge wrote: > > > Mod_passenger is failing with: uninitialized constant > > Rack::Session::Abstract::SessionHash. > > The same issue has been driving mad all day today but I think I've finally > cracked it. > > Are you by any chance using Ubuntu with passenger installed as a package? > If so, you might notice a rack 1.1 Ubuntu package by doing 'dpkg -l |grep > rack'. > > You might ALSO notice that rack 1.1 and passenger are installed in > '/usr/lib/ruby/1.8', that is to say alongside Ruby's StdLib, and not in > GEM_HOME '/usr/lib/ruby/gems/1.8/gems/' which is where they should be. > > What happens is that passenger correctly assumes that your Rails app is a > normal Rack app, and proceeds to load config.ru using rack 1.1 that the > Ruby interpreter loads during its startup alongside StdLib. > > Rubygems however, reports to bundler that rack 1.3 is indeed available in > GEM_HOME, because it is, and as such bundler doesn't complain about the fact > that 1.1 is loaded but 1.3 is reported as available. > > Rails 3.1.rc4, BTW, requires rack 1.3, not master. > > You can check which version of rack is reported in irb for the user you run > passenger under... > > $ irb > irb> require 'rubygems'; require 'rack'; Rack.release > "1.3" > > I bet it doesn't say "1.3" in your case. > > DISCLAIMER: 95% of my conclusion is a result of my investigation and > subsequent solution of my problem. The remaining 5%, about how bundler and > Rubygems get their knickers in a twist because of the Ubuntu packaging > 'guidelines', is an extrapolation. I didn't spend any time with the debugger > stepping through Bundler and Rubygems source; I am not that patient. > > Finally, I know this issue is not Rails-core specific, but my reply might > help other people who come upon this thread... > > -christos > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
