irb:completion: -with-readline-dir= でコンパイルすること。
hdknr@deblen:~/ocsp$ irb -r irb/completion
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
from /usr/local/lib/ruby/1.8/irb/completion.rb:10
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `require'
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `each'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:21:in `setup'
from /usr/local/lib/ruby/1.8/irb.rb:54:in `start'
from /usr/local/bin/irb:13
readline が無い。
hdknr@deblen:~/rails/ruby-1.8.6/ext/readline$ irb
irb(main):001:0> require "readline"
LoadError: no such file to load -- readline
from (irb):1:in `require'
from (irb):1
from :0
hdknr@deblen:~$ sudo aptitude install libreadline5-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
libncurses5-dev{a} libreadline5-dev
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
1767kB のアーカイブを取得する必要があります。展開後に 7205kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org lenny/main libncurses5-dev 5.7+20081213-1 [1546kB]
取得:2 http://ftp.jp.debian.org lenny/main libreadline5-dev 5.2-3.1 [222kB]
1767kB を 4s 秒でダウンロードしました (411kB/s)
未選択パッケージ libncurses5-dev を選択しています。
(データベースを読み込んでいます ... 現在 64941 個のファイルとディレクトリがインストールされています。)
(.../libncurses5-dev_5.7+20081213-1_i386.deb から) libncurses5-dev を展開しています...
未選択パッケージ libreadline5-dev を選択しています。
(.../libreadline5-dev_5.2-3.1_i386.deb から) libreadline5-dev を展開しています...
man-db のトリガを処理しています ...
libncurses5-dev (5.7+20081213-1) を設定しています ...
libreadline5-dev (5.2-3.1) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
hdknr@deblen:~$ dpkg -L libreadline5-dev
/.
/usr
/usr/lib
/usr/lib/libreadline.a
/usr/lib/libhistory.a
/usr/share
/usr/share/doc
/usr/share/doc/libreadline5
/usr/share/doc/libreadline5/examples
/usr/share/doc/libreadline5/examples/manexamp.c
/usr/share/doc/libreadline5/examples/rl-fgets.c
/usr/share/doc/libreadline5/examples/rlversion.c
/usr/share/doc/libreadline5/examples/fileman.c
/usr/share/doc/libreadline5/examples/rlcat.c
/usr/share/doc/libreadline5/examples/histexamp.c
/usr/share/doc/libreadline5/examples/excallback.c
/usr/share/doc/libreadline5/examples/Makefile
/usr/share/doc/libreadline5/examples/rlptytest.c
/usr/share/doc/libreadline5/examples/rltest.c
/usr/share/doc/libreadline5/examples/rl.c
/usr/share/info
/usr/share/info/history.info.gz
/usr/share/info/readline.info.gz
/usr/include
/usr/include/readline
/usr/include/readline/keymaps.h
/usr/include/readline/readline.h
/usr/include/readline/history.h
/usr/include/readline/rlconf.h
/usr/include/readline/rltypedefs.h
/usr/include/readline/chardefs.h
/usr/include/readline/rlstdc.h
/usr/include/readline/tilde.h
/usr/lib/libhistory.so
/usr/lib/libreadline.so
/usr/share/doc/libreadline5-dev
hdknr@deblen:~/rails$ tar xfz ruby-1.8.6.tar.gz
hdknr@deblen:~/rails$ cd ruby-1.8.6/
hdknr@deblen:~/rails/ruby-1.8.6$ ./configure -with-readline-dir=/usr
hdknr@deblen:~/rails/ruby-1.8.6$ make
hdknr@deblen:~/rails/ruby-1.8.6$ sudo make install
./miniruby ./instruby.rb --dest-dir="" --extout=".ext" --make="make" --mflags="" --make-flags="" --installed-list .installed.list --mantype="doc"
installing binary commands
installing command scripts
installing library scripts
installing headers
installing manpages
installing extension objects
installing extension scripts
hdknr@deblen:~/rails/ruby-1.8.6$ irb -r irb/completion
irb(main):001:0> require "openssl"
=> true
irb(main):002:0> OpenSSL::
OpenSSL::< OpenSSL::PKCS7 OpenSSL::eql? OpenSSL::name
OpenSSL::<= OpenSSL::PKey OpenSSL::equal? OpenSSL::nil?
OpenSSL::<=> OpenSSL::Random OpenSSL::errors OpenSSL::object_id
OpenSSL::== OpenSSL::SSL OpenSSL::extend OpenSSL::private_class_method
OpenSSL::=== OpenSSL::VERSION OpenSSL::freeze OpenSSL::private_instance_methods
OpenSSL::=~ OpenSSL::X509 OpenSSL::frozen? OpenSSL::private_method_defined?
OpenSSL::> OpenSSL::__id__ OpenSSL::hash OpenSSL::private_methods
OpenSSL::>= OpenSSL::__send__ OpenSSL::id OpenSSL::protected_instance_methods
OpenSSL::ASN1 OpenSSL::ancestors OpenSSL::include? OpenSSL::protected_method_defined?
OpenSSL::BN OpenSSL::autoload OpenSSL::included_modules OpenSSL::protected_methods
OpenSSL::BNError OpenSSL::autoload? OpenSSL::inspect OpenSSL::public_class_method
OpenSSL::Cipher OpenSSL::class OpenSSL::instance_eval OpenSSL::public_instance_methods
OpenSSL::CipherError OpenSSL::class_eval OpenSSL::instance_method OpenSSL::public_method_defined?
OpenSSL::Config OpenSSL::class_variable_defined? OpenSSL::instance_methods OpenSSL::public_methods
OpenSSL::ConfigError OpenSSL::class_variables OpenSSL::instance_of? OpenSSL::respond_to?
OpenSSL::Digest OpenSSL::clone OpenSSL::instance_variable_defined? OpenSSL::send
OpenSSL::Engine OpenSSL::const_defined? OpenSSL::instance_variable_get OpenSSL::singleton_methods
OpenSSL::HMAC OpenSSL::const_get OpenSSL::instance_variable_set OpenSSL::taint
OpenSSL::HMACError OpenSSL::const_missing OpenSSL::instance_variables OpenSSL::tainted?
OpenSSL::Netscape OpenSSL::const_set OpenSSL::is_a? OpenSSL::to_a
OpenSSL::OCSP OpenSSL::constants OpenSSL::kind_of? OpenSSL::to_s
OpenSSL::OPENSSL_VERSION OpenSSL::debug OpenSSL::method OpenSSL::type
OpenSSL::OPENSSL_VERSION_NUMBER OpenSSL::debug= OpenSSL::method_defined? OpenSSL::untaint
OpenSSL::OpenSSLError OpenSSL::display OpenSSL::methods
OpenSSL::PKCS12 OpenSSL::dup OpenSSL::module_eval
TABでコンプリージョンできました。