hakeの日記

Windows環境でプログラミングの勉強をしています。

ruby1.9のセルフコンパイル

以前クロス環境で外部ライブラリのコンパイルに失敗したのでセルフな環境でコンパイルしてみる。時間がかかるので傍らに置いて本など読みながら……気がついたら終わってるので、makeが終了したら音で知らせてくれるようにできたら嬉しいなぁ
irbは動かしたかったののでncurses-4.2とreadline-5.2を持ってきて事前にコンパイルしてからRubyコンパイル。この辺は以前クロス環境で行ったことと同じ。ncurses-4.2は黙っていても本体のライブラリ参照してくれるかと思っていたのですが、zgcc34側のライブラリを参照してしまうようになってしまったので明示的に指定しました。これって本体側にインクルードファイルが無いせいなのですかね?


あと気がついたことreadline-5.2のstaticなライブラリをstripかけたらRuby側で認識してくれなかった。stripでそぎ落とした部分にRuby側でコンパイル時に参照する情報が含まれてるってことで良いのかな?

とりあえずコンパイルは終わったので確認は明日。


make installでrdocがどーたらでエラーが出てとまった、まぁバイナリやライブラリ関連はインストールされたみたいなんでOKとしましょう。パッケージングしてザウルスにインストール。
バージョンはruby 1.9.0 (2007-02-07 patchlevel 0) [armv5tel-linux]
irbを確認するとヒストリが動くのでreadlineも上手くいっているっぽいです。Ruby1.8系と共存させたいなぁ、バイナリのファイル名は変更しちゃっても問題ないだろうか。


1.8との共存について、

  • binの下の各ファイル名に19を追加、ruby以外のスクリプトのシェバング行もruby19に修正
  • libruby.soが1.8と被るので削除、バイナリはlibruby.so.1.9を参照するので問題無いっぽい