Mac に ThreadScope をインストールする方法

ThreadScope は、GHC が生成する event log を可視化ツールです。以前、試行錯誤して Mac にインストールしたときのメモが出て来ました。並列並行本が出版された今、需要が高いような気もするので、公開しておきます。

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming (English Edition)

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming (English Edition)

僕の環境は、Mountain Lion + Haskell Platform 2013.2.0.0 (32bit)です。以前インストールしたときは、それぞれ一世代前だったと思います。

Mac 用のパッケージシステムは、MacPorts を使っています。homebew ですか? 僕が使いたいソフトに対応してないので、使ってません。同時に使っても問題は起きないはずなので、気にせず MacPorts を使うか、homebew でインストールする方法を自分で探して下さい。

インストールの手順は、以下の通りです。

% sudo port install gtk2 +universal
% cabal install gtk2hs-buildtools
% cabal install ghc-events
% cabal install threadscope --extra-include=/usr/include --extra-lib-dirs=/usr/lib --extra-include=/opt/local/include --extra-lib-dirs=/opt/local/lib

32bit の GHC を使っているので、MacPorts には +universal を指定する必要があります。64bit の GHC を使っている人は、(MacOS のバージョンにもよりますが)たぶん不要でしょう。+universal を付けると、インストールにすごく時間がかかるので注意して下さい。

MacPorts でインストールしたライブラリなどは /opt/local に入っています。ThreadScpe をインストール際には、このパスを指定する必要があります。MacPorts で入れた iconv ではなく、Mac に入っている iconv を優先するために /usr/lib なども先に指定しなければなりません。

これで ThreadScope を起動できます。

% rehash
% threadscope

最初の起動には、時間がかかるかもしれません。気長に待って下さい。