Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jan 2010 17:11:53 -0700
From:      Aaron Gifford <astounding@gmail.com>
To:        Stanislav Sedov <stas@freebsd.org>, freebsd-ruby@freebsd.org
Subject:   Re: Ruby Gem Require LoadError (8-STABLE, Ruby 1.9.1)
Message-ID:  <e58000751001281611w217e8927td9f7385819409ab3@mail.gmail.com>
In-Reply-To: <20100128143157.e1fd05a4.stas@FreeBSD.org>
References:  <e58000751001281133v42a6613dm61a0c2c7922df93d@mail.gmail.com> <20100128120819.a15e60e0.stas@FreeBSD.org> <e58000751001281326n5fe5f7d9h148c4638cef54434@mail.gmail.com> <20100128143157.e1fd05a4.stas@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2010/1/28 Stanislav Sedov <stas@freebsd.org> said:
> Oh, so you have ruby 1.9 as a default version?

Yes, I manually symlinked all /usr/local/bin/*19 executables to make
1.9 my default ruby.  (I much prefer 1.9 :)

> Weird, it should work with 'require "rubygems"' as well.

1.8?  Really?  I didn't know... I've just always required it since
whatever version I used needed it for any gems to work right (I don't
recall what version).  Thanks for the info.

> I'll try to check at the evening.
> Maybe something got broken after the last update.

One other thing that could be the culprit: on my system, all builds
happen within a "build" jail:

1) Create new jail from the most recent world in /usr/obj (a build of
8.0-RELEASE was in /usr/obj, or an earlier 8-STABLE build) as
described in 'man jail' (i.e. make installworld DESTDIR=/path && make
distribution DESTDIR=/path)

2) Mount (using nullfs) both /usr/obj and /usr/src within the new jail

3) Within the new jail, update /usr/src to the latest source, clean
out /usr/obj, mergemaster, then make buildworld

4) Outside of the jail, mergemaster, make installkernel, reboot, make
installworld, then clean up any old config. files, etc.

5) Totally wipe out the build jail in #1 and create a NEW jail (same
as #1) using the newest /usr/obj build

6) Enter the jail (which should now be a FRESH and UP-TO-DATE CLEAN
install of 8-STABLE, with ZERO left-over old files or config. files
anywhere) and rebuild all ports I need (creating packages of each for
later installation in other jails, on the main system, and other
systems)

I wonder if this unusual process of building ports within a jail
somehow is freaking things out somewhere...  In theory, it SHOULD work
transparently, identically to building outside of a jail.  And to my
knowledge, no other ports or system binaries behave any differently.
It should also give me CLEANER builds as my jail build environment
won't be polluted with any configuration changes that my base system
has.

Not knowing enough about ruby's gem loading/building/require system, I
don't know where to go looking myself.  If I knew more of how require
worked in conjunction with gems, maybe I would have found the problem
already.

Thanks for any/all info.

Aaron out.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e58000751001281611w217e8927td9f7385819409ab3>