9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

vimをソースからビルド

Last updated at Posted at 2014-08-16

将来的にはluaとrubyでプラグインをかけたらいいなと思うのでlua,rubyを使えるvimを作成することが今回の目的です。途中でいろいろ手こずったので作業メモとして残して置きます。

#ソースの入手
vim-jpが非公式ではあるがgithubに最新ソースをあげているようなのでそこからソースを入手する。

sh
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へのパスの渡し方がいまいち分からないのでその辺を時間があるときに勉強しようと思う。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?