UPDATE: I probably messed up my system while trying solutions found somewhere else. I started from scratch and Ruby 1.9.3 installed without a hitch. Now to try to get ree-1.8.7 to play nice alongside...
I'm trying to install Ruby 1.9.3 using RVM on Kubuntu (11.10 I believe). I've been having plenty of issues with Readline so far, but found the answer to all but this one.
I installed Ruby 1.9.3 this way:
rvm install 1.9.3
# Install of ruby-1.9.3-p0 - #complete
cd ~/.rvm/src/ruby-1.9.3-p0/ext/readline/
~/.rvm/src/ruby-1.9.3-p0/ext/readline $ ../../ruby extconf.rb --with-editline-dir="/usr" --with-readline-dir="/usr"
# any other way of doing this resulted in simply readline not being loaded when trying to start the console
# I have libreadline6 and libreadline6-dev installed (and all the packages requested in `rvm requirements`
make install
# compiling readline.c
# linking shared-object readline.so
# /usr/bin/install -c -m 0755 readline.so /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-linux
# installing default readline libraries
So far everything looks to have run properly but when I try to start the console I get this error:
/home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `require': /home/mbillard/.rvm/usr/lib/libreadline.so.6: undefined symbol: UP - /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-linux/readline.so (LoadError)
from /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands/console.rb:3:in `require'
from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands/console.rb:3:in `<top (required)>'
from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands.rb:38:in `require'
from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands.rb:38:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
I tried using rvm install 1.9.3 --with-readline-dir="$rvm_path/usr"
and using $rvm_path
when compiling Readline in the command above but those resulted in this error:
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no
checking for editline/readline.h... no
So, thanks for any help you can provide.
You need to install the readline development packages. (This is how my answer differs from the other existing one):
After doing so, you can reinstall Ruby (as @mpapis already mentioned) and everything should work.
Please read the output of:
It will show you list of libraries you need to install to make good use of Ruby
After installing all the libs, clean rvm installed libs and reinstall Ruby:
I had a similar issue. try
that worked for me.
I got the solution from here:
Rails Console Not Loading