CentOS 6.5にLuaを有効にしたvimをインストール

CentOS 6.5 に vim 7.4 を Lua を有効にしてコンパイルし、インストールしたときのメモです。
今回は root 権限が使える前提で、/usr/local/以下にインストールします。

必要なパッケージのインストール

まず必要そうなパッケージを yum を使ってインストールします。

$ sudo yum install gcc git mercurial ncurses-devel lua lua-devel

 
ついでに、perl とか ruby とか python も有効にしたかったら、下記もインストールしておきます。

$ sudo yum install perl perl-devel perl-ExtUtils-Embed ruby ruby-devel python python-devel

 
たぶんこれで足りるはず。^^;

luajit のインストール

lua を実行するにあたって、luajit というのを使うと速いよというのを知りましたので、あらかじめ luajit をコンパイルしてインストールします。

ソースコードは Git で取ってきます。

$ cd /usr/local/src/
$ git clone http://luajit.org/git/luajit-2.0.git luajit
$ cd luajit

luajit の Makefile の中身を見ると、インストール先は/usr/local/になっているようです。
変えたい場合はここを編集します。

Makefile
27 export PREFIX= /usr/local

 
ちなみに、もともと/usr/local/src/には、一般ユーザーの書き込み権限がないので、僕の場合はwheelグループに対して書き込み権限を与えています。

$ sudo chgrp wheel /usr/local/src
$ sudo chmod g+rwx /usr/local/src

 
では、make して install します。

$ make
$ sudo make install

luajit にパスを通す

luajit を/usr/local/にインストールした場合は、/usr/local/libにパスを通します。

やり方は二通りあって、.zshrcで以下のように、環境変数LD_LIBRARY_PATHを設定するか、

.zshrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

/etc/ld.so.confに設定します。
/etc/ld.so.confは、/etc/ld.so.conf.d/以下の conf ファイルを読み込むように書いてあるので、以下のようにパスを書いたファイルをそこに置きましょう。

/etc/ld.so.conf.d/local.conf
/usr/local/lib

できたら、以下のコマンドでキャッシュを更新します。

$ sudo ldconfig

ちなみに、こちらを参考にしました。

vim のインストール

vim のソースコードは mercurial で管理されているので、取ってくるには hg コマンドを使います。

$ cd /usr/local/src/
$ hg clone https://vim.googlecode.com/hg/ vim

 
まずは./configureですが、引数を覚えきれないので、僕はいつもシェルスクリプトを書いています。

configure.sh
#!/bin/sh
./configure --enable-multibyte --with-features=huge --disable-selinux \
        --prefix=/usr/local \
        --enable-luainterp=yes --with-luajit --with-lua-prefix=/usr/local \
        --enable-perlinterp=yes \
        --enable-rubyinterp=yes \
        --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.6/config

perl や ruby や python がいらなければ、下の 3 行は削除しちゃって下さい。末尾の\も。

作成したシェルスクリプトに、ユーザーに対して実行権限を与えます。

$ chmod u+x configure.sh

 
では、configure と make をしてインストールしましょう。

$ ./configure.sh
$ make
$ sudo make install

以上で完了です。

確認

which コマンドで、vim コマンドの参照先が/usr/local/bin/vimになっているか確認しましょう。
続いて、vim --version で、Lua が有効になっているかどうか確認しましょう。

$ which vim
/usr/local/bin/vim
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 29 2014 04:08:55)
Included patches: 1-225
Compiled by yuuan@colinux.yuuan.net
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         -gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   +perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      +lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        -mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L.  -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lnsl   -ldl  -L/usr/local/lib -lluajit-5.1 -Wl,-E -Wl,-rpath,/usr/lib/perl5/CORE  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.6/config -lpython2.6 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -lruby -lpthread -lrt -ldl -lcrypt -lm

+lua となっていれば成功です。

もし、/usr/local/binにパスを通しているにもかかわらず、/usr/bin/vimが呼ばれてしまう場合は、

$ rehash

と打つと、参照先がリフレッシュされるかもしれません。

アップデート

vim のブランチが更新された場合、hg コマンドでアップデートすることができます。

$ hg pull
$ hg update

 
アップデートしたら make しなおします。
このとき、さきほど作ったシェルスクリプトが役立ちます。

$ ./configure.sh
$ make clean
$ make
$ sudo make install

One thought on “CentOS 6.5にLuaを有効にしたvimをインストール

  1. ピンバック: CentOS 7.0にLuaを有効にしたvimをインストール | yuuAn's Note

コメントを残す