« Windows から Vine Linux への移行(その4) | トップページ | Windows から Vine Linux への移行(その6) »

Windows から Vine Linux への移行(その5)

 Ruby/Tk が動かない。require の際に tk ライブラリが見つからないというのだ。

 なぜだ、、、 orz

 何が起きているかを簡単に書くと

[dai@localhost ~]$ irb
irb(main):001:0> require 'tk'
LoadError: cannot load such file -- tk
from /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from /home/dai/.rbenv/versions/2.0.0-p0/bin/irb:12:in `

'

ということになる。
 Ruby/Tk は、Ruby をインストールする際にライブラリとして含まれているはずなのだが、インストールされたディレクトリをあちこち探してもみつからない。
 オプションでダウンロードしなければならないのか、とも考えたが、Tk は標準添付ライブラリなのでそんなはずはなかろう。永井さんのページを見ても、「最新バージョンに変えたければ、、」という説明はあるが、同梱のライブラリを導入するために特別な操作が必要とは書いていない。

 わからん、、

【追記 2013/3/28 15:20】
 rbenv が ruby をインストールした場所(~/.rbenv/versions/2.0.0-p0)の下の、lib/ruby/2.0.0/ に tk/ とか tkextrib/ とかが置かれていないとがわかった。システムの ruby では該当する場所にそれらが置かれているのに。
 つまり、rbenv がインストールする ruby のパッケージにこれらのライブラリが含まれていない可能性があるという事になる。
 なぜ? そして、どうすればよい?

【追記 2013/03/28 16:20】
 Ruby/Tk - FrontPage から Ruby/Tk-Kit のダウンロードを試みた。
 当該ページは:http://www.dumbo.ai.kyutech.ac.jp/nagai/RubyTk/?Ruby%2FTk-Kit

 ここから、tcltklib.so-tk8.5.7-ruby192dev_20100313rev26900_i686-linux というファイルをダウンロードし、tcltklib.so に名前を変更し、上に書いた lib/ruby/2.0.0/ ディレクトリの下においた上で、irb を起動して以下のように実行したら以下のようにエラーが出た

irb(main):006:0> require 'tcltklib'
LoadError: /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tcltklib.so: wrong ELF class: ELFCLASS32 - /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tcltklib.so
from /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /home/dai/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):6
from /home/dai/.rbenv/versions/2.0.0-p0/bin/irb:12:in `

'

 「wrong ELF class: ELFCLASS32」というエラーは、64ビットのシステムで32ビットのライブラリを読み込もうとして出るエラーだと、どこぞのブログに書いてあった。
 file コマンドで以下のように表示された

[dai@localhost test]$ file tcltklib.so
tcltklib.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

 もしかすると、私の環境に適合した Ruby/Tk のライブラリは存在しないのだろうか?

|

« Windows から Vine Linux への移行(その4) | トップページ | Windows から Vine Linux への移行(その6) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/35133/57045073

この記事へのトラックバック一覧です: Windows から Vine Linux への移行(その5):

« Windows から Vine Linux への移行(その4) | トップページ | Windows から Vine Linux への移行(その6) »