vim をソースからコンパイル

会社のマシンの vmware に入っている ubuntu(xubuntu) に kaoriya のパッチをあてた vim をソースから入れてみた。

vim6.4 のソースを DL

http://www.vim.org/sources.php

  • vim-6.4-src1.tar.gz
  • vim-6.4-src2.tar.gz
  • vim-6.4-rt1.tar.gz
  • vim-6.4-rt2.tar.gz

Vim6.4 の extra ファイル(?) を DL

ftp://ftp.vim.org/pub/vim/extra/

  • vim-6.4-extra.tar.gz
  • vim-6.4-lang.tar.gz

vim6.4 の kaoriya のパッチを DL

http://www.kaoriya.net/#VIM64

  • Vim 6.4 差分パッケージ

それぞれを解凍して同じフォルダに格納

生成されるフォルダ名が「vim64」なので「vim-6.4」に変更する(パッチの関係)。kaoriya のパッチ(diffs フォルダ)は Makefile がある階層に置いておく。

パッチを適用

Makefile がある階層でパッチを適用する。

$ patch p0 < diffs/kaoriya.diff

configure する

$ chmod 755 kaoriya.configure
$ ./kaoriya.configure

エラーが発生 orz

configure: error: installation or configuration problem: C compiler cannot
create executables.

ネタ元を忘れてしまったが・・・Google 先生に聞いたら教えてくれた。build-essential をインストールするといいらしい。そして再度 configure する。

$ sudo apt-get install build-essential
$ ./kaoriya.configure

make する

make
undefined reference to `term_set_winsize'

これまたよく分からないエラーがでるので Google 先生に聞く

なんて書いてあったから、 ncurses の開発用のものをとってきた。

apt-get install libncurses5-dev

しかし、現象は変わらず。さらに source を見ていくと、src/term.c: の中の
2695 行目からがこんな感じになっていた。
・・・
term_set_winsize は grep したけど、見つからなかった。という
ことで、上記の部分をコメントつけて

Tatsuyoshi tech diary

libncurses5-dev が必要なのかは検証してないけど、インストールして term.c のソースを修正すれば OK で、再度 make する。

インストール

make が終わったらインストールする

$ make install

ここで疑問

インストールはできたんだけど・・・。vim.exe ができるだけ。コンソール版なのよね。 gvim.exe を作るには・・・どうすれば・・・。調べるか。