将来的にはluaとrubyでプラグインをかけたらいいなと思うのでlua,rubyを使えるvimを作成することが今回の目的です。途中でいろいろ手こずったので作業メモとして残して置きます。
#ソースの入手
vim-jpが非公式ではあるがgithubに最新ソースをあげているようなのでそこからソースを入手する。
cd 作業ディレクトリ
git clone https://github.com/vim-jp/vim.git
#configure
利用可能なオプションの調べ方は./configure --helpで確認できる。
また現在利用中のvimのオプションは、vim --versionで確認できる。
./configure --with-features=huge --enable-luainterp --enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-fail-if-missin
make
#設定を確認する
src以下にvimのバイナリができるので設定したオプションが有効になっているか確認する。
今回は+lua, +rubyとなっていればOK
./src/vim --version
#インストール
make install
#困ったこと
##perlインタプリタを有効にするオプションをつけるとエラー
下記のようなエラーが出た。
auto/if_perl.c
/usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -prototypes -typemap \
/usr/share/perl5/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
Can't open perl script "/usr/share/perl5/ExtUtils/xsubpp": そのようなファイルやディレクトリはありません
ググったら、perl-ExtUtils-Embedをインストールすれば良いみたいなので、下記コマンドでインストールする
perl-ExtUtils-Embedをインストール
yum install perl-ExtUtils-Embed
このあと再ビルドしたがビルドエラーはとれず1時間ぐらい悩んだ。
どうもsrc/Makefileを読むと「/usr/share/perl5/ExtUtils/xsubpp」にあることを期待しているようですが、Fedora20のyumコマンドインストールされたのは、「/usr/share/perl5/vendor_perl/ExtUtils」のようでした。とりあえず暫定で「src/Makefile」を下記のように直せばビルドエラーは解消された。
diff --git a/src/Makefile b/src/Makefile
index 772b15c..cd28553 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2477,7 +2477,7 @@ lintinstall:
auto/if_perl.c: if_perl.xs
$(PERL) -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $@
- $(PERL) $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
+ $(PERL) $(PERLLIB)/vendor_perl/ExtUtils/xsubpp -prototypes -typemap \
$(PERLLIB)/ExtUtils/typemap if_perl.xs >> $@
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
#2014/08/26に追記
最新版にアップデートして再ビルドしたところビルドが通ることを確認した。
実際どうやって対応しているのか見ると下記ログが見つかった。
src/Makefileへのパスの渡し方がいまいち分からないのでその辺を時間があるときに勉強しようと思う。