MacPortsをアップデートしたらmikutterがぽんぽん落ちるようになった件
mikutter3.2 alpha 1が来たので早速遊ぼうとインストールしたんですが、nokogiriがコンパイルエラーになってしまいました。
なのでMacPortsのupgrade outdatedとgem updateを掛けたところ、nokogiriはOKになるもmikutterさんが挙動不審に。(まるでそれはIngress中の私のような。)
SEGV時のスタックトレースを見るとcairoで死んでるっぽいので、MacPortsのアップデートが原因かなとバージョンを調べてみました。
Alicia:mikutter moguno$ port installed cairo The following ports are currently installed: cairo @1.12.16_2+x11 cairo @1.14.0_0+quartz+x11(active) Alicia:mikutter moguno$ port installed pango The following ports are currently installed: pango @1.36.6_0+x11 pango @1.36.8_0+x11 pango @1.36.8_1+quartz+x11(active)
どうも今回のアップデートでquartzサポートが付いて調子が悪くなったような・・・?
update to 1.14.0 (#45391) and make Quartz support always enabled (#44414)
あー・・・(いらんことしやがって)。
アップデートでおかしくなった人
とりあえず元にもどします。
Alicia:mikutter moguno$ port activate cairo @1.12.16_2+x11 Alicia:mikutter moguno$ port activate pango @1.36.8_0+x11
新しくMacPortsをインストールした人 or 誤ってcairo@1.12.16_2+x11とpango@1.36.8_0+x11を消しちゃった人(私)
svnから古いPortfileを取ってきてインストールします。
Alicia:~ moguno$ cd /tmp Alicia:tmp moguno$ svn co http://svn.macports.org/repository/macports/trunk/dports/graphics/cairo --revision 115019 Alicia:tmp moguno$ cd cairo/ Alicia:cairo moguno$ sudo port install Alicia:cairo moguno$ cd /tmp Alicia:tmp moguno$ svn co http://svn.macports.org/repository/macports/trunk/dports/x11/pango --revision 125628 Alicia:tmp moguno$ cd pango/ Alicia:pango moguno$ sudo port install
なお、port install cairo -quartzで行けるかなとも思ったんですがオプションが無視されました・・・。mikutter on OS X受難の時代になりそうです。
Mavericksで動いてたmikutterをYosemiteでも動くようにする方法
Mavericksで動いてたmikutterをYosemiteでも動くようにする方法です。
MacPortsのインストール
Yosemite版をインストールします。
※14/12/23
最新のMacPortsで入るcairo 1.14.0_0と1.36.8_1だとmikutterが不安定になります。
下記の記事の通りに古いバージョンを導入すると良いです。
~/.xinitrc.d/uim-xim.shの作成(何もしてない)
Xと同時にxim-uimが起動するようにします。
#!/bin/sh /Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim &
環境変数の登録
なんでかMacでの環境変数の設定方法はコロッコロ変わっていて、従来の~/.MacOS/environment.plistや/etc/launchd.confなどのやり方が全滅しています。
いろいろ調べたところ、YosemiteではLaunchdのエージェントとして設定するのが良い様です。
/Library/LaunchAgents/にmikutter_env.plistと言うファイルを作ります。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>mikutter environment</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>setenv</string> <string>LANG</string> <string>ja_JP.UTF-8</string> <string>XMODIFIERS</string> <string>@im=uim</string> <string>GTK_IM_MODULE</string> <string>uim</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>LaunchOnlyOnce</key> <true/> </dict> </plist>
mikutterのインストール(何もしてない)
ておておておー