How to get Readline support in IRB using RVM on Ubuntu 11.10

I tried everything I could think of to make it work, but to no avail, so I ask for suggestions on how to debug it.

First, the launch of Ubuntu 11.10

Installed rvm:

$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 

Installed readline with apt-get:

 $ sudo apt-get install libreadline-dev 

Check your readline installation:

 $ dpkg --get-selections | grep readline lib64readline-gplv2-dev install lib64readline5 install libreadline-dev install libreadline5 install libreadline6 install libreadline6-dev install readline-common install 

Install ruby ​​with readline support?

 $ rvm install 1.9.2 --with-readline-dir=/usr 

Here is the rvm version:

 $ rvm --version rvm 1.9.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/] 

Let's try the ruby ​​shell:

 $ irb 1.9.2 :001 > puts "add history" add history => nil 1.9.2 :002 > ^[[A^[[A^[[A^[[A^[[A <------ PRESS UP ARROW DOES THIS 

No, well, if it does not work with the readline ubuntu version ??? try with your own version of readline rvm:

 $ rvm pkg install readline Fetching readline-5.2.tar.gz to /home/keith/.rvm/archives % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1989k 100 1989k 0 0 318k 0 0:00:06 0:00:06 --:--:-- 418k Extracting readline-5.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-5.2/shobj-conf.patch'... Prepare readline in /home/keith/.rvm/src/readline-5.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-5.2. Compiling readline in /home/keith/.rvm/src/readline-5.2. Installing readline to /home/keith/.rvm/usr Fetching readline-6.2.tar.gz to /home/keith/.rvm/archives % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2224k 100 2224k 0 0 310k 0 0:00:07 0:00:07 --:--:-- 444k Extracting readline-6.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-6.2/patch-shobj-conf.diff'... Prepare readline in /home/keith/.rvm/src/readline-6.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-6.2. Compiling readline in /home/keith/.rvm/src/readline-6.2. Installing readline to /home/keith/.rvm/usr 

Ok, there is an error there, let's see:

 $ more /home/keith/.rvm/log/readline/autoreconf.log [2011-11-17 22:31:15] autoreconf -is --force autoheader: warning: missing template: CTYPE_NON_ASCII autoheader: Use AC_DEFINE([CTYPE_NON_ASCII], [], [Description]) autoheader: warning: missing template: FIONREAD_IN_SYS_IOCTL autoheader: warning: missing template: HAVE_BSD_SIGNALS autoheader: warning: missing template: HAVE_GETPW_DECLS autoheader: warning: missing template: HAVE_LANGINFO_CODESET autoheader: warning: missing template: HAVE_MBRLEN autoheader: warning: missing template: HAVE_MBSCMP autoheader: warning: missing template: HAVE_MBSNRTOWCS autoheader: warning: missing template: HAVE_MBSRTOWCS autoheader: warning: missing template: HAVE_MBSTATE_T autoheader: warning: missing template: HAVE_POSIX_SIGNALS autoheader: warning: missing template: HAVE_POSIX_SIGSETJMP autoheader: warning: missing template: HAVE_STRUCT_DIRENT_D_FILENO autoheader: warning: missing template: HAVE_STRUCT_DIRENT_D_INO autoheader: warning: missing template: HAVE_USG_SIGHOLD autoheader: warning: missing template: HAVE_WCRTOMB autoheader: warning: missing template: HAVE_WCSCOLL autoheader: warning: missing template: HAVE_WCSDUP autoheader: warning: missing template: HAVE_WCTYPE autoheader: warning: missing template: HAVE_WCWIDTH autoheader: warning: missing template: MUST_REINSTALL_SIGHANDLERS autoheader: warning: missing template: NO_MULTIBYTE_SUPPORT autoheader: warning: missing template: SPEED_T_IN_SYS_TYPES autoheader: warning: missing template: STRCOLL_BROKEN autoheader: warning: missing template: STRUCT_WINSIZE_IN_SYS_IOCTL autoheader: warning: missing template: STRUCT_WINSIZE_IN_TERMIOS autoheader: warning: missing template: TIOCSTAT_IN_SYS_IOCTL autoheader: warning: missing template: VOID_SIGHANDLER autoreconf: /usr/bin/autoheader failed with exit status: 1 

And as expected, irb does not work with readline:

 $ rvm install 1.8.7 --with-readline-dir=\$HOME/.rvm/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. 1.8.7 :001 > 

Have I installed all rvm requirements? Yes, look:

 $ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libxslt1-dev' instead of 'libxslt-dev' Note, selecting 'libncurses5-dev' instead of 'ncurses-dev' autoconf is already the newest version. automake is already the newest version. bison is already the newest version. build-essential is already the newest version. curl is already the newest version. git-core is already the newest version. libc6-dev is already the newest version. libncurses5-dev is already the newest version. libreadline6 is already the newest version. libreadline6-dev is already the newest version. libreadline6-dev set to manually installed. libsqlite3-0 is already the newest version. libsqlite3-dev is already the newest version. libssl-dev is already the newest version. libtool is already the newest version. libxml2-dev is already the newest version. libxslt1-dev is already the newest version. libyaml-dev is already the newest version. openssl is already the newest version. sqlite3 is already the newest version. subversion is already the newest version. zlib1g is already the newest version. zlib1g-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

And so it goes on and on and on .....

 $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=\$HOME/.rvm/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. 1.8.7 :001 > $ cd ~/.rvm/src/ruby-1.8.7-p352/ext/readline/ $ ruby extconf.rb checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes checking for rl_filename_completion_function()... yes checking for rl_username_completion_function()... yes checking for rl_completion_matches()... yes checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal()... yes checking for rl_clear_signals()... yes checking for rl_vi_editing_mode()... yes checking for rl_emacs_editing_mode()... yes checking for replace_history_entry()... yes checking for remove_history()... yes creating Makefile $ make gcc -shared -o readline.so readline.o -L. -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -Wl,-R/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lreadline -lncurses -lrt -ldl -lcrypt -lm -lc $ make install /usr/bin/install -c -m 0755 readline.so /home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/i686-linux $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=\$HOME/.rvm/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. 1.8.7 :001 > $ $ rvm pkg install readline Fetching readline-5.2.tar.gz to /home/keith/.rvm/archives Extracting readline-5.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-5.2/shobj-conf.patch'... Prepare readline in /home/keith/.rvm/src/readline-5.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-5.2. Compiling readline in /home/keith/.rvm/src/readline-5.2. Installing readline to /home/keith/.rvm/usr Fetching readline-6.2.tar.gz to /home/keith/.rvm/archives Extracting readline-6.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-6.2/patch-shobj-conf.diff'... Prepare readline in /home/keith/.rvm/src/readline-6.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-6.2. Compiling readline in /home/keith/.rvm/src/readline-6.2. Installing readline to /home/keith/.rvm/usr $ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libxslt1-dev' instead of 'libxslt-dev' Note, selecting 'libncurses5-dev' instead of 'ncurses-dev' autoconf is already the newest version. automake is already the newest version. bison is already the newest version. build-essential is already the newest version. curl is already the newest version. git-core is already the newest version. libc6-dev is already the newest version. libncurses5-dev is already the newest version. libreadline6 is already the newest version. libreadline6-dev is already the newest version. libreadline6-dev set to manually installed. libsqlite3-0 is already the newest version. libsqlite3-dev is already the newest version. libssl-dev is already the newest version. libtool is already the newest version. libxml2-dev is already the newest version. libxslt1-dev is already the newest version. libyaml-dev is already the newest version. openssl is already the newest version. sqlite3 is already the newest version. subversion is already the newest version. zlib1g is already the newest version. zlib1g-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. $ cd ~/.rvm/src/ruby-1.8.7-p352/ext/readline/ $ ruby extconf.rb --with-readline-dir=/usr checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes checking for rl_filename_completion_function()... yes checking for rl_username_completion_function()... yes checking for rl_completion_matches()... yes checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal()... yes checking for rl_clear_signals()... yes checking for rl_vi_editing_mode()... yes checking for rl_emacs_editing_mode()... yes checking for replace_history_entry()... yes checking for remove_history()... yes creating Makefile $ make gcc -I. -I. -I/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/i686-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -I/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c readline.c gcc -shared -o readline.so readline.o -L. -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -Wl,-R/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/usr/lib -Wl,-R/usr/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lreadline -lncurses -lrt -ldl -lcrypt -lm -lc $ make install /usr/bin/install -c -m 0755 readline.so /home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/i686-linux $ irb ruby-1.8.7-p352 :001 > p 1 1 => nil ruby-1.8.7-p352 :002 > $ $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb 1.8.7 :001 > p "hello world" "hello world" => nil 1.8.7 :002 > ^[[A^[[A^[[A^[[A^[[A -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -I / usr / include -D_FILE_OFFSET_BITS $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=\$HOME/.rvm/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. 1.8.7 :001 > $ cd ~/.rvm/src/ruby-1.8.7-p352/ext/readline/ $ ruby extconf.rb checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes checking for rl_filename_completion_function()... yes checking for rl_username_completion_function()... yes checking for rl_completion_matches()... yes checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal()... yes checking for rl_clear_signals()... yes checking for rl_vi_editing_mode()... yes checking for rl_emacs_editing_mode()... yes checking for replace_history_entry()... yes checking for remove_history()... yes creating Makefile $ make gcc -shared -o readline.so readline.o -L. -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -Wl,-R/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lreadline -lncurses -lrt -ldl -lcrypt -lm -lc $ make install /usr/bin/install -c -m 0755 readline.so /home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/i686-linux $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=\$HOME/.rvm/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. 1.8.7 :001 > $ $ rvm pkg install readline Fetching readline-5.2.tar.gz to /home/keith/.rvm/archives Extracting readline-5.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-5.2/shobj-conf.patch'... Prepare readline in /home/keith/.rvm/src/readline-5.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-5.2. Compiling readline in /home/keith/.rvm/src/readline-5.2. Installing readline to /home/keith/.rvm/usr Fetching readline-6.2.tar.gz to /home/keith/.rvm/archives Extracting readline-6.2.tar.gz to /home/keith/.rvm/src Applying patch '/home/keith/.rvm/patches/readline-6.2/patch-shobj-conf.diff'... Prepare readline in /home/keith/.rvm/src/readline-6.2. ERROR: Error running 'autoreconf -is --force', please read /home/keith/.rvm/log/readline/autoreconf.log Configuring readline in /home/keith/.rvm/src/readline-6.2. Compiling readline in /home/keith/.rvm/src/readline-6.2. Installing readline to /home/keith/.rvm/usr $ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libxslt1-dev' instead of 'libxslt-dev' Note, selecting 'libncurses5-dev' instead of 'ncurses-dev' autoconf is already the newest version. automake is already the newest version. bison is already the newest version. build-essential is already the newest version. curl is already the newest version. git-core is already the newest version. libc6-dev is already the newest version. libncurses5-dev is already the newest version. libreadline6 is already the newest version. libreadline6-dev is already the newest version. libreadline6-dev set to manually installed. libsqlite3-0 is already the newest version. libsqlite3-dev is already the newest version. libssl-dev is already the newest version. libtool is already the newest version. libxml2-dev is already the newest version. libxslt1-dev is already the newest version. libyaml-dev is already the newest version. openssl is already the newest version. sqlite3 is already the newest version. subversion is already the newest version. zlib1g is already the newest version. zlib1g-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. $ cd ~/.rvm/src/ruby-1.8.7-p352/ext/readline/ $ ruby extconf.rb --with-readline-dir=/usr checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes checking for rl_filename_completion_function()... yes checking for rl_username_completion_function()... yes checking for rl_completion_matches()... yes checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal()... yes checking for rl_clear_signals()... yes checking for rl_vi_editing_mode()... yes checking for rl_emacs_editing_mode()... yes checking for replace_history_entry()... yes checking for remove_history()... yes creating Makefile $ make gcc -I. -I. -I/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/i686-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -I/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c readline.c gcc -shared -o readline.so readline.o -L. -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -Wl,-R/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/usr/lib -Wl,-R/usr/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/keith/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lreadline -lncurses -lrt -ldl -lcrypt -lm -lc $ make install /usr/bin/install -c -m 0755 readline.so /home/keith/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/i686-linux $ irb ruby-1.8.7-p352 :001 > p 1 1 => nil ruby-1.8.7-p352 :002 > $ $ rvm remove 1.8.7 Removing /home/keith/.rvm/src/ruby-1.8.7-p352... Removing /home/keith/.rvm/rubies/ruby-1.8.7-p352... Removing ruby-1.8.7-p352 aliases... Removing ruby-1.8.7-p352 wrappers... Removing ruby-1.8.7-p352 environments... Removing ruby-1.8.7-p352 binaries... $ rvm install 1.8.7 --with-readline-dir=/usr Installing Ruby from source to: /home/keith/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /home/keith/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /home/keith/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /home/keith/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/home/keith/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete $ irb 1.8.7 :001 > p "hello world" "hello world" => nil 1.8.7 :002 > ^[[A^[[A^[[A^[[A^[[A 

So, in conclusion, I would be extremely grateful if some bright spark could suggest how I can debug this situation and solve it.

ps - Yes, I have "Google" this problem to death ....

+30
ruby ubuntu readline rvm libreadline
Nov 17 2018-11-11T00:
source share
12 answers

Okay, so this may seem pretty obvious, well, always when you know the answer:

I gave up using RVM and switched to rbenv - which I am very glad I did!

 sudo apt-get install libreadline-gplv2-dev CONFIGURE_OPTS="--with-readline-dir=/usr/include/readline --with-openssl-dir=/usr/local" rbenv-install 1.9.2-p290 

This installs without errors - and I'm still not sure if I need the gplv2 package since I have libreadline6-dev installed. However, this STILL did not solve my problem. He removed the RVM from the equation and showed that, despite all my efforts, the IRB shell refused to use readline.

The answer came from reading this great guide:

RubyTools.pdf

Inside the ~ / .irbrc file, I found:

 IRB.conf[:USE_READLINE] = false 

Quick update to:

 IRB.conf[:USE_READLINE] = true 

And I'm cooking gas!

Thanks for all the great answers and suggestions, I appreciate your time.

+11
Nov 20 '11 at
source share

Ubuntu 12.04 is here: the answers here helped but were also misleading.

If you are using Ubuntu 12.04, DO NOT install readline with or without --skip-autoreconf. After you do this, either readline or zlib will be broken no matter what combination of switches you provide rvm install 1.9.3.

To make it work, run the apt-get command that rvm requirements will tell you, do pkg uninstall readline , and then run a simple rvm remove 1.9.3; rvm install 1.9.3 rvm remove 1.9.3; rvm install 1.9.3

+33
May 26 '12 at 11:50
source share

I struggled with the same issue with Ubuntu 11.10.

In my case, readline would seem to compile correctly if I use the following:

 $ rvm --skip-autoreconf pkg install readline 

as shown below http://beginrescueend.com/packages/readline/

However, when I called irb, I would get a normal "Cannot require readline" error

Finally, based on the Shane command line, I called the following:

 $ rvm install 1.9.3 --with-readline-dir=$rvm_usr_path --with-iconv-dir=$rvm_usr_path --with-zlib-dir=$rvm_usr_path --with-openssl-dir=$rvm_usr_path 

not the command specified at http://beginrescueend.com/packages/readline/

 $ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr 

In my case, version 1.9.3 was what I wanted. Finally, irb came up with a read function.

Thanks to everyone who pointed me in the right direction.

+12
Dec 30 2018-11-11T00:
source share

This solved my problem for rvm with Ruby 1.9.3

 gem install rb-readline 
+10
Jul 02 '12 at 23:29
source share

I had the same problem, but I’m on 11.04 and read the link you gave https://github.com/wayneeseguin/rvm/issues/553 and from the information in the peplins comment there I deleted the autoreconf call that was added here
https://github.com/wayneeseguin/rvm/commit/94c301d and now readline compiles without any errors. I added back to the autoreconf call after I compiled readline before installing ruby ​​again.

So this is how I got the job:

change ~ / .rvm / scripts / functions / pkg and remove the following:

 if [[ "${rvm_skip_autoreconf_flag:-0}" == 0 ]] && which autoreconf >/dev/null 2>&1 && which libtoolize >/dev/null 2>&1 && [[ -f configure.ac || -f configure.in ]] then __rvm_run "$package/autoreconf" \ "autoreconf -is --force" \ "Prepare $package in $rvm_src_path/$package-$version." fi 

Compile readline and remove ruby ​​(I used the ree_dependencies command, but I'm not sure if this is necessary):

 rvm pkg install ree_dependencies rvm remove 1.9.2 

cancel deletion to ~ / .rvm / scripts / functions / pkg
Then I installed 1.9.2 with this command (again from the ree installation, which I am not sure about, but this is what I used)

 rvm install 1.9.2 --with-readline-dir=$rvm_usr_path --with-iconv-dir=$rvm_usr_path --with-zlib-dir=$rvm_usr_path --with-openssl-dir=$rvm_usr_path 

and now everything works as it should, I hope this helps someone.

+4
Nov 20 '11 at 12:14
source share

My setup is ubuntu 11.10, RVM 1.10.2, ruby ​​1.9.3.

This reading issue gave errors when starting irb and prevented the rails console from starting because of an error:

'require': cannot load such a file - readline (LoadError)

The solution that worked for me was the one that Brian Larsen described, i.e.

DO NOT install readline with or without --skip-autoreconf

Does apt-get install install what rvm requirements you need to do then

rvm --skip-autoreconf pkg remove readline

rvm remove 1.9.3

rvm install 1.9.3

thanks for the tip of Brian.

+2
Jul 10 2018-12-12T00:
source share

These steps fixed my problem (on Lubuntu 12.04) after pre-compiling ruby ​​and constantly getting the error "compile readline missing" at any time:

 sudo aptitude install build-essential openssl libreadline6 \ libreadline6-dev curl git-core zlib1g zlib1g-dev \ libssl-dev libyaml-dev libsqlite3-dev sqlite3 \ libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev \ automake libtool bison subversion rvm pkg uninstall readline rvm remove 1.9.3 rvm install 1.9.3 
+2
Jul 14 '12 at 16:22
source share

You can try installing the desktop at the desktop level of libreadline5-dev . I am sure libreadline6-dev is not working right now.

+1
Jan 27 '12 at 18:49
source share

Unfortunately, none of them worked for me. I ended up using Quick Fix from http://beginrescueend.com/packages/readline/

This solved my problem.

+1
Mar 06 '12 at 10:27
source share

For me, it just worked out of the box with the latest rvm version. My steps

 bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) 

according to rvm requirements :

 apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion rvm install 1.9.3 rvm 
0
Feb 01 '12 at 11:03
source share

Forget everything that you hear about any logic, just look here and do the same step by step:

  (ubuntu x64): $ ruby extconf.rb 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 $ sudo aptitude install libedit-dev .. $ ruby extconf.rb 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... yes checking for rl_getc_function() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_completion_function() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_username_completion_function() in stdio.h,readline/readline.h,readline/history.h... no checking for rl_completion_matches() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_refresh_line() in stdio.h,readline/readline.h,readline/history.h... no checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_editing_mode in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_line_buffer in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_point in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_catch_sigwinch in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_catch_signals in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal() in stdio.h,readline/readline.h,readline/history.h... no checking for rl_clear_signals() in stdio.h,readline/readline.h,readline/history.h... no checking for rl_set_screen_size() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_get_screen_size() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_vi_editing_mode() in stdio.h,readline/readline.h,readline/history.h... no checking for rl_emacs_editing_mode() in stdio.h,readline/readline.h,readline/history.h... no checking for replace_history_entry() in stdio.h,readline/readline.h,readline/history.h... no checking for remove_history() in stdio.h,readline/readline.h,readline/history.h... yes checking for clear_history() in stdio.h,readline/readline.h,readline/history.h... yes checking for RL_PROMPT_START_IGNORE in stdio.h,readline/readline.h,readline/history.h... yes checking for RL_PROMPT_END_IGNORE in stdio.h,readline/readline.h,readline/history.h... yes creating Makefile 

In any case, there are too many missing functions, but ... do more

 $ rvm pkg uninstall readline ... ╰─○ ruby extconf.rb checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes checking for rl_getc_function() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_completion_function() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_username_completion_function() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_matches() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_refresh_line() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_deprep_term_function in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completion_append_character in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_word_break_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_basic_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_completer_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_filename_quote_characters in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_attempted_completion_over in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_library_version in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_editing_mode in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_line_buffer in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_point in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_event_hook in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_catch_sigwinch in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_catch_signals in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_cleanup_after_signal() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_clear_signals() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_set_screen_size() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_get_screen_size() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_vi_editing_mode() in stdio.h,readline/readline.h,readline/history.h... yes checking for rl_emacs_editing_mode() in stdio.h,readline/readline.h,readline/history.h... yes checking for replace_history_entry() in stdio.h,readline/readline.h,readline/history.h... yes checking for remove_history() in stdio.h,readline/readline.h,readline/history.h... yes checking for clear_history() in stdio.h,readline/readline.h,readline/history.h... yes checking for RL_PROMPT_START_IGNORE in stdio.h,readline/readline.h,readline/history.h... yes checking for RL_PROMPT_END_IGNORE in stdio.h,readline/readline.h,readline/history.h... yes creating Makefile $ make compiling readline.c linking shared-object readline.so $ make install /usr/bin/install -c -m 0755 readline.so /home/sky/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-linux installing default readline libraries irb 1.9.3-p194 :001 > 

, .

1 - libedit-dev

 # dpkg --get-selections| egrep '(readline|libedit)' libedit-dev install # <= BSD PACKAGE, not GNU, but... it is work fine to me libedit2 install # the same story as previous libreadline-dev install libreadline5 install libreadline6 install libreadline6-dev install readline-common install 

2 - pkg readline

 $ rvm pkg uninstall readline 

3 - $rvm_path/src/ruby ​​- # {version}/ext/readline

 $ ruby extconf.rb; make; make install 

4 -

0
11 . '12 11:38
source share

Bundler , :

 echo "gem 'rb-readline'" >> Gemfile bundle install 
0
10 . '14 5:47
source share



All Articles