@numa08 猫耳帽子の女の子

明日目が覚めたら俺達の業界が夢のような世界になっているとイイナ。

windowsだってtmuxを使いたい

tmuxって便利ですよね。すっごい使ってます。macとかLinuxでは。WindowsにはCygwinがありますが、色々と悲しみあふれる奴です。

そんなCygwinでtmuxを使おうと頑張りました。結論から言うと、動いたり動かなかったりです(ぇ

まだ切り分けはできてないですが、Windows7(64bit)は動きましたが、Windows8(64bit)ではコケてます。ビルドの手順をメモっとくので鼻で笑っておいてください。

パッケージ類のインストール

apt-cygをインストールしておくと捗るかと思います。あと、今回zshのautocdを有効にしています。ほかのシェルを利用している人は、適宜cdををつけてください。

#必要なパッケージ類のインストール
apt-cyg install make autoconf libtool pkg-config libncurses-devel

libeventのインストール

tmuxに必須なlibeventのビルドとインストールですが、CLOCK_MONOTONICを呼び出すことができていない

/usr/local/src
git clone https://github.com/libevent/libevent.git
./libevent
zsh autogen.sh
./configure --prefix=/usr/local
export LANG=C
vim evutil_time.c  #ちょっとコードをいじる

cygwinではCLOCK_MONOTONICが定義されてない(調査中)っぽいのでとりあえずコメントアウト。

--- a/evutil_time.c
+++ b/evutil_time.c
@@ -202,9 +202,9 @@ evutil_configure_monotonic_time_(struct evutil_monotonic_timer *base,
                return 0;
        }

-#if CLOCK_MONOTONIC < 0
-#error "I didn't expect CLOCK_MONOTONIC to be < 0"
-#endif
+//#if CLOCK_MONOTONIC < 0
+//#error "I didn't expect CLOCK_MONOTONIC to be < 0"
+//#endif

        base->monotonic_clock = -1;
        return 0;
make
make install

tmuxのビルド、インストール

/usr/local/src
git clone git://git.code.sf.net/p/tmux/tmux-code tmux-tmux-code
tmux-tmux-code/
zsh autogen.sh
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" --prefix=/usr/local
make CFLAGS='-O -I/usr/include/ncurses'
make install

とりあえずビルドは通りますが、can't create socket言われます。

tmux -S PATH/TO/SOCKET

とかするとfailed to connect to server言われます。動く環境、動かない環境あるので、いろいろ試してみてください。