My guess is that your zones lack /var/ruby.*

Did you install ruby+friends in the global zone using packages, from
a tar file, or from source compilation?  A package install from the global
zone should install the package contents into all zones, properly handling
/usr verses /var.

If your means of installation insists on writing to /usr/ruby, they you
could create a writeable /usr/ruby filesystem (using zonecfg add fs) so
that you can install ruby into every zone.  Adding a lofs filesystem, that
maps to a directory in the global zone, is straightfoward.

-Steve L.

On Sat, Jul 12, 2008 at 08:10:24PM +0100, Matt Harrison wrote:
> Hello,
> I've got an opensolaris box running several websites from mongrel 
> clusters, and I'd like to have each site's cluster running in an 
> isolated zone.
> I've been through the administrative guides and FAQs pertaining to zones 
> and managed to get a zone created and running without problems.
> The problem I'm having is that although the zone is sharing /usr and 
> /var, the zone cannot use any of the ruby gems that I have installed.
> For example I've installed mongrel, rails, capistrano and all 
> dependencies into the global zone and they work perfectly.
> Unfortunately when I try to use these gems from within the non-global 
> zone I get "gem not found errors" like so:
> $ mongrel_rails cluster::start
> /usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems.rb:304:in 
> `report_activate_error': Could not find RubyGem mongrel (> 0) 
> (Gem::LoadError)
> [....]
> Of course I can't re-install the gems from the zone as /usr and /var are 
> not writable from there.
> Does anyone have any experience with running ruby gems from zones and 
> might be able to give me some guidance with this?
> Many Thanks
> Matt
> _______________________________________________
> zones-discuss mailing list
zones-discuss mailing list

Reply via email to