dkpskの日記

dkpsk.brain.buffer.flush();

xmobar が with_dbus フラグつきでビルドできない問題

結局、xmonad + xmobar に再チャレンジしている。

タイトルについて、少しハマったのでメモしておく。
issue としてはすでに挙がっている: github.com

要するに dbus パッケージへの依存関係の設定が不適切。
dbus パッケージを入れるために、cabal install dbus とかやっていると、新しすぎてビルドがコケることがある。
すでに修正版をアップロードしたらしいけど、この記事を書いた時点では変なまま(xmobar-0.26 では >= 0.10 になっている)。

ビルドを通すには、手元の dbus パッケージのバージョンを 1.0 未満にする。

登録されている dbus パッケージのバージョンを確認して:

$ ghc-pkg list | grep dbus

1.0 とかをデータベースから外す:

$ ghc-pkg unregister dbus-1.0

もちろん、不用意にこれをやると、他のライブラリの依存関係が壊れる可能性があるので気をつける。
一旦 hide するのが賢いのかもしれないけど、単に hide しただけではダメだった。これは何かやりようがあると思うけど、ぼくは cabal は xmonad 関連のためだけに使うと決めているので、躊躇なく消した。

最後に:

$ cabal install --global dbus-0.10.15