Ruby 2.1.6のインストール
参照:Ruby
OpenSSLのインストールを試みたのはこのためで・・・
先に自宅サーバ(Mac mini G4)に OpenSSL 1.0.2cをインストールしようとしたのは、この Ruby Ver.2系をインストールしたかったためです。MacOS X 10.4.11 には Ruby Ver.1.8.2が既に入っているのですが、これを Ver.2.0.0以上にしたいと思います。
何故かと言うと IRkitを操作できる便利な Ruby Gem を作られた方がいるのです(感謝!)。自宅サーバからも IRkitを操作できるようにするべく、この Ruby Gemを使いたいと思ったのだけど、動作させるためには Ruby Ver.2.0.0以上が必要なのでした。
Rubyのインストールには幾つか方法があるのですが、今回はソースからビルドしてインストールする方法を採りました。使用したのは現時点の最新版 Ruby Ver.2.2.2ではなく、一世代前の Ver.2.1.6。これは Ver.2.2.2では
linking miniruby
/usr/bin/ld: Undefined symbols:
_fgetattrlist
|
というエラーが出てビルドできなかったから。ちょっと調べてみたら "_fgetattrlist" は MacOS X 10.6 Snow Leopardから追加されたようで、10.4.11 Tigerには無いそうな。ソースを修正すればビルドできるようになるようですけど、今回はVer.2.0.0以上であれば良いので、そこまで頑張らないでも良いでしょう。
Ruby Ver.2.1.6 のビルド方法は以下。
$ tar xvzf ruby-2.1.6.tar.gz
$ cd ruby-2.1.6
$ ./configure --with-opt-dir=/usr/local/ssl --enable-pthread --enable-shared
$ export MACOSX_DEPLOYMENT_TARGET=10.4
$ make
$ make test
$ sudo make install
|
ポイントは configure の --with-opt-dir オプションで先にインストールした OpenSSLのインストールパス
を指定している事と、makeの前に "MACOSX_DEPLOYMENT_TARGET" 環境変数を設定している事。これを忘れるとビルドが失敗してしまいます。原因は良くわからんです(^^;)。自分の Mac miniの環境だけかもしれないけど。何しろ色々いじくってあるからなぁ・・・
あとは既存の rubyを置き換えて、
$ cd /usr/bin
$ sudo mv ruby ruby.org
$ sudo ln -s /usr/local/bin/ruby ./ruby
$ ruby --version
ruby 2.1.6p336 (2015-04-13 revision 50298) [powerpc-darwin8.0]
|
Gemパッケージを最新化します。
$ sudo gem update --system
|
gemコマンドは Rubyのパッケージ管理をしてくれるコマンドで、パッケージをインストールする際に依存関係がある他のパッケージも自動的にインストールしてくれる便利なコマンド。Debianのaptや、RedHatのrpmみたいなものだと思えば良いかな。
このとき、もしSSLのエラーが出て失敗するようなら、一時的に以下のように設定すると回避することができるようです。
$ gem source --add http://rubygems.org/
|
ただし、セキュリティ的にはあまりよろしくないようなので、gem update後には以下のようにして元に戻しておく方が良いそうな。
$ gem source --remove http://rubygems.org/
$ gem source --list
*** CURRENT SOURCES ***
https://rubygems.org/
|
これでIRKitの Ruby Gemをインストールする準備は整ったのですが、IRkit Ruby Gemのインストールも、そう簡単にはいかなかったのでした・・・
[続く]
|