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:in `require'
         from (irb):4
         from :0

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

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

You need to install RubyGems.

···

On 27.12.2009 05:12, Rajinder Yadav 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?

--
Phillip Gawlowski

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.

···

On Sat, Dec 26, 2009 at 11:12 PM, Rajinder Yadav <devguy.ca@gmail.com> 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?

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:in `require'
from (irb):4
from :0

--
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

Phillip Gawlowski 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 Gawlowski

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?

yadav@KubuntuX64:$ 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)

···

On 27.12.2009 05:12, Rajinder Yadav wrote:

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

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

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

RubyOnRails - Community Help Wiki RubyGems

···

On Dec 26, 2009, at 11:22 PM, Rajinder Yadav wrote:

Phillip Gawlowski wrote:

On 27.12.2009 05:12, Rajinder Yadav 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 Gawlowski

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?

yadav@KubuntuX64:$ 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 Yadav

http://DevMentor.org

Do Good! - Share Freely

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?

···

On 27.12.2009 05:22, Rajinder Yadav 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?

--
Phillip Gawlowski

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.

···

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

Phillip Gawlowski wrote:

On 27.12.2009 05:12, Rajinder Yadav 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 Gawlowski

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?

yadav@KubuntuX64:$ gem list

*** LOCAL GEMS ***

Rilindo Foster 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

RubyOnRails - Community Help Wiki RubyGems

Phillip Gawlowski 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 Gawlowski

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?

yadav@KubuntuX64:$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)

(truncalted)

···

On Dec 26, 2009, at 11:22 PM, Rajinder Yadav wrote:

On 27.12.2009 05:12, Rajinder Yadav wrote:

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

Phillip Gawlowski 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

···

On 27.12.2009 05:22, Rajinder Yadav wrote:

--
Phillip Gawlowski

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

Rilindo Foster 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??

yadav@KubuntuX64:$ 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

RubyOnRails - Community Help Wiki RubyGems

Phillip Gawlowski 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 Gawlowski

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?

yadav@KubuntuX64:$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)

(truncated)

···

On Dec 26, 2009, at 11:22 PM, Rajinder Yadav wrote:

On 27.12.2009 05:12, Rajinder Yadav wrote:

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

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:

···

On 27.12.2009 05:50, Rajinder Yadav wrote:

Phillip Gawlowski wrote:

On 27.12.2009 05:22, Rajinder Yadav 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 Gawlowski

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 27.12.2009 05:55, Rajinder Yadav wrote:

Rilindo Foster 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??

--
Phillip Gawlowski

Phillip Gawlowski wrote:

Rilindo Foster 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.

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

···

On 27.12.2009 05:55, Rajinder Yadav wrote:

--
Phillip Gawlowski

--
Kind Regards,
Rajinder Yadav

http://DevMentor.org

Do Good! - Share Freely

Phillip Gawlowski wrote:

···

On 27.12.2009 05:50, Rajinder Yadav wrote:

Phillip Gawlowski wrote:

On 27.12.2009 05:22, Rajinder Yadav 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

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 Gawlowski

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 Yadav

http://DevMentor.org

Do Good! - Share Freely