在Cygwin下编译tmux(失败)

在Cygwin下编译tmux(失败)

tmux是GNU Screen的替代者,本文是我在Cygwin下编译tmux的失败经历,记录在案,方便以后重新尝试编译。 本文假设你已经在Cygwin下配置好了编译环境。

要了解tmux,可以看这篇文章:http://linuxtoy.org/archives/from-screen-to-tmux.html 要了解GNU Screen,可以看这两篇文章:

Cygwin的源中是包含GNU Screen的,但是没有tmux,在 Cygwin ports 中也没有。想要在Cygwin使用tmux,需要自行编译。

1. 安装libevent包

tmux编译需要依赖libevent包,但是Cygwin的官方源不包含这个包。不过,我们可以在 Cygwin Ports 找到她。

下面的代码使用apt-cyg安装libevent包。关于apt-cyg用法,可以看这里:Cygwin的包管理器:apt-cyg

1apt-cyg install libevent-devel --mirror ftp://ftp.cygwinports.org/pub/cygwinports

如果你更喜欢源码编译安装,可以在这里下载libevent源码:http://libevent.org/

1tar xzvf libevent-2.0.21-stable.tar.gz -C /usr/src
2cd /usr/src/libevent-2.0.21
3./configuare
4make && make install

2. 安装ncurses包

tmux编译需要依赖ncurses包,Cygwin的官方源中就有这个包。

1apt-cyg install libncurses-devel --mirror http://mirrors.163.com/cygwin

但是,这样安装的libncurses包,在编译tmux的时候,始终报错找不到 ncurses.h文件,因此我卸载了 ncurses 包,改用编译安装。

在这里下载ncurses源码:http://ftp.gnu.org/pub/gnu/ncurses/,我下载的是最新的5.9。

编译和安装的方式与 libevent 相同,这里不再重复。

3. 下载tmux源码

在这里下载tmux源码:http://tmux.sourceforge.net/,可能需要梯子,目前最新版本为1.7。

虽然上面解决了依赖问题,但编译过程中依然遇到了编译错误,无法解决。

就此打住,依然使用 GNU Screen