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.

Reply via email to