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

next in thread | previous in thread | raw e-mail | index | archive | help
 I wrote:
> One more interesting thing:
>
> % ruby19 -e 'p Gem.default_dir'
> "/usr/local/lib/ruby19/gems/1.9"
>
> That is NOT right. =A0It should be "/usr/local/lib/ruby/gems/1.9" instead=
.
>
> Where does Gem.default_dir get set, does anyone know?
>
> Aaron out.

It looks like gem_prelude.rb sets up the gems include path.

The relevant code section is:

 def self.default_dir
        File.join File.dirname(ConfigMap[:sitedir]), 'Gems',
                  ConfigMap[:ruby_version]
      elsif RUBY_VERSION > '1.9' then
        File.join(ConfigMap[:libdir], ConfigMap[:ruby_install_name], 'gems'=
,
                  ConfigMap[:ruby_version])
      else
        File.join(ConfigMap[:libdir], ruby_engine, 'gems',
                  ConfigMap[:ruby_version])
      end
    end

So the Gem.default_dir is being set to:
  File.join(ConfigMap[:libdir], ConfigMap[:ruby_install_name], 'gems',
ConfigMap[:ruby_version])

(that's the middle "RUBY_VERSION > '1.9'" code chunk)

So ConfigMap[:ruby_install_name] is "ruby19" in this case, and THAT's
what is screwing this up.



IDEAS:

Either the FreeBSD Ruby 1.9 port needs to install things in
"/usr/local/lib/ruby19" instead of "/usr/local/lib/ruby/" so the code
will work as-is, or else something's gotta change with
ConfigMap[:ruby_install_name], or else gem_prelude.rb code has to be
changed...

So... anyone with expertise, where does one go from here?

Aaron out.



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