Building ruby from source

I removed my older ruby package from my ubuntu, built ruby from source
successfully. added the sym link from ruby1.8 -> ruby in /usr/bin/

however from the IRB I’m getting errors it can’t find my gems? how do I
fix this, I assume I need to define some environment variables?

irb(main):003:0> require ‘rubygems’
LoadError: no such file to load – rubygems
from (irb):3:in require' from (irb):3 from :0 irb(main):004:0> require 'grackle' LoadError: no such file to load -- grackle from (irb):4:inrequire’
from (irb):4
from :0


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

On 27.12.2009 05:12, Rajinder Y. wrote:

I removed my older ruby package from my ubuntu, built ruby from source
successfully. added the sym link from ruby1.8 -> ruby in /usr/bin/

however from the IRB I’m getting errors it can’t find my gems? how do I
fix this, I assume I need to define some environment variables?

http://docs.rubygems.org/read/chapter/3

You need to install RubyGems.

Phillip G. wrote:


Phillip G.

I already had gems installed? are you telling me I got to repeat the
entire process to install gem and then all the gem packages?

[email protected]:$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
cgi_multipart_eof_fix (2.5.0)
curb (0.6.0.0)
daemons (1.0.10)
fastthread (1.0.7)
gem_plugin (0.2.3)
grackle (0.1.7)
haml (2.2.15)
haml-edge (2.3.100)
hpricot (0.8.2)
json (1.2.0)
mechanize (0.9.3)
mime-types (1.16)
mongrel (1.1.5)
nokogiri (1.4.1)
oauth (0.3.6)
patron (0.4.4)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)
ruby-hmac (0.3.2)
sqlite3-ruby (1.2.5)


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

On 27.12.2009 05:22, Rajinder Y. wrote:

I already had gems installed? are you telling me I got to repeat the
entire process to install gem and then all the gem packages?

Apparently, if your compiled-from source Ruby cannot find “rubygems”. :wink:

Most likely, installing RubyGems should be enough.

How did you remove Ruby? Using apt-get? Which options? Or by other
means?

You can try to add the path to your current gems:

export PATH=/var/lib/gems/1.8/bin:$PATH
See:

https://help.ubuntu.com/community/RubyOnRails#Installing RubyGems

Rilindo F. wrote:

You can try to add the path to your current gems:

export PATH=/var/lib/gems/1.8/bin:$PATH
See:

unfortunately that doesn’t seem to fix the issue

fix this, I assume I need to define some environment variables?
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
(truncalted)


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

Phillip G. wrote:

On 27.12.2009 05:22, Rajinder Y. wrote:

I already had gems installed? are you telling me I got to repeat the
entire process to install gem and then all the gem packages?

Apparently, if your compiled-from source Ruby cannot find “rubygems”. :wink:

Most likely, installing RubyGems should be enough.

How did you remove Ruby? Using apt-get? Which options? Or by other means?

sudo aptitude remove ruby


Phillip G.


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

Rilindo F. wrote:

You can try to add the path to your current gems:

export PATH=/var/lib/gems/1.8/bin:$PATH
See:

is there another location rubygems can be install? I did an ls and found
the following entries. should there not be more stuff here bases on my
gem list showing??

[email protected]:$ ls -l
total 20
-rwxr-xr-x 1 root root 349 2009-11-30 02:36 gpgen
-rwxr-xr-x 1 root root 351 2009-11-30 02:49 mongrel_rails
-rwxr-xr-x 1 root root 338 2009-11-30 01:09 rackup
-rwxr-xr-x 1 root root 339 2009-11-30 01:09 rails
-rwxr-xr-x 1 root root 336 2009-11-30 01:08 rake

fix this, I assume I need to define some environment variables?
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
(truncated)


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

On 27.12.2009 05:50, Rajinder Y. wrote:

How did you remove Ruby? Using apt-get? Which options? Or by other means?

sudo aptitude remove ruby

Right, I’m a little foggy here (It’s been a while since I last touched
any from of *NIX).

However, it seems that you now have a rather curious state for your
Ruby.

For one, Ruby is split into several packages (ruby, irb, ruby-dev,
libruby, ri; off the top of my head), and a couple of Ruby packages
exit, too, most famously RubyGems.

However, each distribution (more or less), tweaks their offered packages
to conform to the distribution’s file system layout.

These tweaks are not necessarily identical to what a build from source
provides.

So, it seems that your Ruby install is in an inconsistent state, where
Ruby, and RubyGems don’t “know” about each other, since they use
different directories.

A solution would be to do a “sudo aptitude remove ruby*” to remove
anything the distro installed, re-do “sudo make install” in your Ruby
source directory, and then install RubyGems and your desired gems (it
might be enough to monitor the filesystem, and see which directories
“make install” and the RubyGems install create, and to copy your gems
into this new directory.

Or:

You remove compiled-Ruby with the hopefully existing “make uninstall”,
and then reinstall Ruby from Ubuntu’s repositories, and hope that fixes
everything (it should).

Aside: A tool I found handy when installing from source is Checkinstall:
http://checkinstall.izto.org/ allowing to introduce software compiled
from source to a distribution’s packet management system. :slight_smile:

Phillip G. wrote:

As many possibilities as there are Linux distributions. :wink:

Usually, it is “/[var|opt]/lib/ruby/1.8/gems/”. The particulars depend
on your distribution.

I’ve given up the battle and reinstalling rubygems :wink:


Phillip G.


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

Phillip G. wrote:

For one, Ruby is split into several packages (ruby, irb, ruby-dev,
Ruby, and RubyGems don’t “know” about each other, since they use

Phillip,

thanks for helping out. A simple reinstall of rubygems and the gems is
all that was needed to restore the state. (I was trying to avoid this
being lazy).

RI is happy again, gems are being found with no issue.


Kind Regards,
Rajinder Y.

http://DevMentor.org

Do Good! - Share Freely

On 27.12.2009 05:55, Rajinder Y. wrote:

Rilindo F. wrote:

You can try to add the path to your current gems:

export PATH=/var/lib/gems/1.8/bin:$PATH
See:

is there another location rubygems can be install? I did an ls and found
the following entries. should there not be more stuff here bases on my
gem list showing??

As many possibilities as there are Linux distributions. :wink:

Usually, it is “/[var|opt]/lib/ruby/1.8/gems/”. The particulars depend
on your distribution.

On Sat, Dec 26, 2009 at 11:12 PM, Rajinder Y. [email protected]
wrote:

   from (irb):3
   from :0

irb(main):004:0> require ‘grackle’
LoadError: no such file to load – grackle
from (irb):4:in `require’
from (irb):4
from :0

Despite some of the kind suggestions from others, the particular file
rubygems.rb should be in

…/lib/ruby/site_ruby/1.8/

if Ruby and rubygems are both installed. Note that this is not the
gem binary, but rather the file which allows your program to load
gems.

The … stands in for an installation path which varies from system to
system. But should be something like /usr or /usr/local on a Debian
based system. Actually self installed stuff should be in /user/local
IIRC so as not to collide with packaged stuff.


Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale

On 12/26/2009 9:22 PM, Rajinder Y. wrote:

You need to install RubyGems.

*** LOCAL GEMS ***
I am about 75% sure you have rubygems installed through Ubuntu. I bet
if you do
‘sudo apt-get remove rubygems’ (I think that’s right) you’ll see what I
mean. This
Debian distro of rubygems won’t work with the source distro of Ruby (at
least
not easily). You’ll need to remove the one installed through apt and
install from source
as mentioned above.