2013年3月26日火曜日

ArchLinuxでRuby2.0.0とmikutter0.2.1.1137を動かす


3/28追記: ArchLinuxのruby-cairoパッケージは1.12.2-4ら1.12.2-6アップデートた.パッケージ中身変わんがPKGBUILD修正があった模様.
た,ruby-gtk2も1.2.5アップデートで,はmikutter普通パッケージ入れ動作す.って記事もう役立た情報,obsolete参考ないようさい
この記事はいわゆるバッドノウハウ,近い将来役に立たなくなるハズのtipsです


内容は表題の通り.
今回のアップデートでArchLinuxのrubyもついに2.0.0と相成りましたが,
AURからmikutterをインストールしている場合にはアップデート後に
rb_cCairo_Contextというシンボルがlibpangoにないと怒られて起動できなくなります.
そこで,その場合の対処方法です

1st step mikutter入れなおし
yaourtを入れている人は
yaourt -S mikutter
でmikutterを再インストールしましょう.ここでポイントは,PKGBUILDを編集してください.
depends=('ruby-gtk2' 'ruby-cairo')と書かれている行を削除するだけです.

2nd step 要らないパッケージは消す
先ほど依存関係から外してしまったruby-gtk2関連のモノは消しましょう.
mikutter以外にruby-gtk2パッケージに依存しているモノを入れてなければ
pacman -Rns ruby-gtk2
で削除できます.正確には,
ruby-atk
ruby-cairo
ruby-gdkpixbuf2
ruby-glib2
ruby-pango
ruby-gtk2
のパッケージが要らなくなります.

3rd step 必要なモジュールのインストール
さて,消したパッケージの分だけgemからパッケージをインストールしましょう.

gem install (packagename) -v (version)
で$HOME/.gemにインストールされるハズです.
必要なパッケージは
glib2
atk
cairo
pango
gdk_pixbuf2
gtk2
です.このうちcairo以外はバージョンが1.2.3である必要があります.最新の1.2.4ではエラーが出るようです.もし依存で1.2.4がうっかり入っちゃった時は
gem uninstall (packagename) -v (version)
で消しとけばOK.
ちなみに,mikutterパッケージではなくmikutter-git(これもAURにあります)でdevelopブランチから開発版を入れた場合,現時点(v0.2.2.1150)では追加でgemから
memoize
typed-array
addressable
oauth
bsearch
もインストールしておきましょう.

では,すてきなmikutterライフを!