libevent 빌드
tmux는 libevent에 의존성이 있으므로 libevent를 먼저 빌드해야 합니다. 현재 최신버전은 2.0.17로 libevent-2.0.17-stable-tar.gz를 다운로드 받습니다.
$ tar -xvzf libevent-2.0.17-stable.tar.gz
$ cd libevent-2.0.17-stable
$ ./configure --prefix=$HOME/tmux/
$ make
$ make install
압축을 풀어준 후에 configure를 하면서 타겟디렉토리를 $HOME/tmux로 지장한 뒤에 빌드를 합니다. 빌드가 완료되면 $HOME/tmux아래에 bin, include 등의 디렉토리가 생긴 것을 확인할 수 있습니다.
ncurses 빌드
tmux가 의존성을 가지는 ncurses도 빌드해야 합니다. 다운로드 페이지에서 현재 최신버전인 ncurses-5.9.tar.gz를 다운로드 받습니다.
$ tar -xvzf ncurses-5.9.tar.gz
$ cd ncurses-5.9/
$ ./configure --prefix=$HOME/tmux/
$ make
$ make install
마찬가지로 압축을 푼 뒤에 타겟 디렉토리를 지정해서 빌드를 합니다. 빌드가 완료되면 $HOME/tmux/ 아래에 빌드된 파일들이 생성되는데 $HOME/tmux/include 디렉토리를 보면 ncurses라는 디렉토리가 생성된 것을 확인할 수 있습니다. 이는 뒤에서 tmux를 빌드할 때 ncurses관련 파일을 찾지 못한다는 오류가 발생하므로 다음과 같이 ncurses아래있는 파일들을 include폴더로 복사합니다.
$ cp $HOME/tmux/include/ncurses/* $HOME/tmux/include/
tmux 빌드
tmux 사이트에서 현재 최신버전인 tmux-1.6.tar.gz를 다운로드 받습니다.
$ tar -xvzf tmux-1.6.tar.gz
$ cd tmux-1.6
$ ./configure \
CFLAGS="-I$HOME/tmux/include" \
LDFLAGS="-L$HOME/tmux/lib" \
--prefix=$HOME/tmux/
$ make
$ make install
마찬가지로 압축을 풀어준 뒤에 configure에서 타겟디렉토리의 include와 lib폴더를 플래그를 통해서 지정해 주어야 의존 라이브러리를 찾아서 빌드에 성공할 수 있습니다. 정상적으로 빌드가 되었다면 $HOME/tmux/bin 디렉토리 아래 tmux라는 파일이 생성됩니다.
tmux를 실행하기 전에 마지막으로 LD_LIBRARY_PATH 환경변수를 설정해야 합니다. ~/.bashrc같은 파일에 다음과 같이 tmux의 lib 디렉토리를 LD_LIBRARY_PATH 변수로 설정합니다. 새로 터미널을 실행하지 않았다면 source ~/.bashrc 명령어로 환경설정을 다시 불러와야 합니다.
export LD_LIBRARY_PATH=$HOME/tmux/lib
이제 $HOME/tmux/bin/tmux를 실행하면 tmux가 정상적으로 실행되는 것을 확인할 수 있습니다. 이 파일만 PATH에 잡아주면 어디서나 tmux 명령어를 사용할 수 있습니다.
Comments