CentOS 6.5 に vim 7.4 を Lua を有効にしてコンパイルし、インストールしたときのメモです。
今回は root 権限が使える前提で、/usr/local/以下にインストールします。
必要なパッケージのインストール
まず必要そうなパッケージを yum を使ってインストールします。
ついでに、perl とか ruby とか python も有効にしたかったら、下記もインストールしておきます。
たぶんこれで足りるはず。^^;
luajit のインストール
lua を実行するにあたって、luajit というのを使うと速いよというのを知りましたので、あらかじめ luajit をコンパイルしてインストールします。
ソースコードは Git で取ってきます。
$ git clone http://luajit.org/git/luajit-2.0.git luajit
$ cd luajit
luajit の Makefile の中身を見ると、インストール先は/usr/local/になっているようです。
変えたい場合はここを編集します。
ちなみに、もともと/usr/local/src/には、一般ユーザーの書き込み権限がないので、僕の場合はwheelグループに対して書き込み権限を与えています。
$ sudo chmod g+rwx /usr/local/src
では、make して install します。
$ 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
できたら、以下のコマンドでキャッシュを更新します。
ちなみに、こちらを参考にしました。
vim のインストール
vim のソースコードは mercurial で管理されているので、取ってくるには hg コマンドを使います。
$ hg clone https://vim.googlecode.com/hg/ vim
まずは./configureですが、引数を覚えきれないので、僕はいつもシェルスクリプトを書いています。
#!/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 行は削除しちゃって下さい。末尾の\も。
作成したシェルスクリプトに、ユーザーに対して実行権限を与えます。
では、configure と make をしてインストールしましょう。
$ 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が呼ばれてしまう場合は、
と打つと、参照先がリフレッシュされるかもしれません。
アップデート
vim のブランチが更新された場合、hg コマンドでアップデートすることができます。
$ hg update
アップデートしたら make しなおします。
このとき、さきほど作ったシェルスクリプトが役立ちます。
$ make clean
$ make
$ sudo make install
ピンバック: CentOS 7.0にLuaを有効にしたvimをインストール | yuuAn's Note