来世ガチャ乱数調整日記

Lily, Bass & Programing

non-root userでVim+Lua

こんにちは、びしょ〜じょです。

これはcoins Advent Calendar 2014 - Adventar8日目の記事とも言えます。

大学、計算機室。こちとら学費を払っているいわば顧客やぞ、なめた環境しやがって。

T大情報学群情報科学類の計算機室に入っているVimはちょいと古い。OS Xでビルドすると途中でコケて面倒だしOS Xは個人的に好きじゃないので放置。


さて本題に入ります。タイトルの通りnon-root userでVimLuaをビルドします。

え、大学のVimneocompleteとか使いたいと思いませんか。はい。

1. readline

pentasでLuaをビルドするとreadlineが無いなどで怒られます。ということでまずreadlineをビルドします。

mkdir ~/local
mkdir ~/tmp
cd ~/tmp

wget https://ftp.gnu.org/gnu/readline/readline-6.3.tar.gz
tar xvf readline-6.3.tar.gz
cd readline-6.3
./configure --prefix=${HOME}/local
make -j32
make -j32 install

pentasはXeon E5-2650を積んでいる!!8 core 16 threadsすげえ!!makeはええ〜〜っぴゅぴゅぴゅ〜〜〜

2. Lua

ということでreadlineがビルドできた。続いてLua行きます。

wget http://www.lua.org/ftp/lua-5.2.3.tar.gz
tar xvf lua-5.2.3.tar.gz
cd lua-5.2.3

そういえばここで罠が発生します。このままLuaをビルドするとVimLuaインタプリタが入りません。悲しい。

Makefileに細工をする必要があります。

ではこちらをご覧ください。

ここでまた罠が発生します。上記の通りだと./configureでコケます。

liblua.soの部分をliblua.so.5.2(wgetで引っ張ったバージョンと同じにする)に書き換えます。

これでOK。

make linux -j32 MYCFLAGS="-I${HOME}/local/include" MYLDFLAGS="-L${HOME}/local/lib -L/usr/lib64" MYLIBS="-lncursesw" cd src && make -j32 linux
make -j32 install INSTALL_TOP=${HOME}/local/lua

OK。~/local/luaができたと思います。

3. Vim

さて本題のVim

hg clone https://vim.googlecode.com/hg/ vim
cd vim/

./configure  --with-features=huge \
        --enable-rubyinterp=dynamic \
        --with-lua-prefix=${HOME}/local/lua \
        --enable-luainterp=dynamic \
        --enable-fail-if-missing \
        --enable-multibyte \
        --libdir=/usr/lib64 \
        --prefix=${HOME}/local \


make -j32
make -j32 install

$HOME/local/binVimが爆誕しました。パスを通してください。ついでにLuaもあるので是非使ってください。

おわり