--/--/-- (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010/09/01 (水)
以前、root権限もncursesもないとき ホームにzshやvimをインストールする方法という記事を書いたが、これでは足りないところがあった。
perlやpython、rubyがインストールされていないマシンの場合、vimの拡張版が正しくインストールできないのだ。

今回紹介する方法によって
・vimをホームディレクトリにインストール
・root権限がない外部サーバでもソースからコンパイルしてインストールできる
・vimはperl&python&ruby拡張機能も有効にする
・ncursesがインストールされていないマシンでも可
・perlがインストールされていなくても可
・pythonがインストールされていなくても可
・rubyがインストールされていなくても可
を可能にする。
実際には、ncursesだけでなくperlやpython、rubyもホームディレクトリにインストールしてしまい、
それを使用してvimをインストールするので上記のインストールが可能になる。


ためしに、現在インストールされているvimがどういう状況なのかを確認する。
% vim --version
とかやって、
…+perl…+python…+ruby…
と書いてあれば、それは正しく拡張されたvimであることがわかる。
ここが-perlとか-pythonとか書いてあると、その拡張機能がインストールされていないことになる。

というわけで、まずは普通にvimをインストールしてみる。
% cd
% cd tmp/src
% wget ftp://ftp.jp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
% wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
% wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
% mkdir patches
% cd patches
% curl -O 'ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.[001-446]'
% cd ..
% tar jxvf vim-7.2.tar.bz2
% tar zxvf vim-extra-7.2.tar.gz
% tar zxvf vim-lang-7.2.tar.gz
% cd vim72
% cat ../patches/* | patch -p0
% ./configure --prefix=/home/ユーザ名/local \
% --enable-xim \
% --enable-fontset \
% --enable-multibyte \
% --with-features=huge \
% --enable-perlinterp \
% --enable-pythoninterp \
% --enable-rubyinterp
% make
% make install

これで正しくvimのインストールができたら幸運である。
ところで、上記コマンドの意味が全くわからないという人は、その前に基礎的なことを勉強をしたようが良い。
細かいところは環境に合わせて調整してほしい。
configureのオプションだけ軽く説明しておくと、
% --enable-xim \
% --enable-fontset \
% --enable-multibyte \
はマルチバイト文字の制御
% --with-features=huge \
はインストールする機能。今回は機能をいっぱいインストールするhugeで。
% --enable-perlinterp \
% --enable-pythoninterp \
% --enable-rubyinterp
はperl python ruby拡張の有効。
詳しくは./configure --helpを参照

vim --versionしてちゃんと+perlとか+pythonになってるだろうか?

インストール途中でterminal libraryがないとか言われてエラーを吐く場合はncursesをインストールする。
% cd
% cd tmp/src
% wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
% tar zxvf ncurses-5.7.tar.gz
% cd ncurses-5.7
% ./configure --prefix=$HOME/local --with-shared
% make
% make install

でホームにncursesがインストールされるはず。
ちなみに、--with-sharedというオプションを入れておかないと欲しいライブラリがインストールされないっぽい。

で、vimインストール前に以下コマンド
% export CPPFLAGS="-I$HOME/local/include"
% export LDFLAGS="-L$HOME/local/lib"
で環境変数を設定しておくことで、このライブラリを使用してインストールが行われる。

上記で、vimが正しくインストールされればそれで良し。

しかし、perl拡張やpython拡張がインストールされなかった場合はさらにperlやpythonもインストールする。
拡張インストールしていなくても、vim起動時に
「vim: Symbol `ospeed' has different size in shared object, consider re-linking.」
なんてエラーが出る場合もrubyが正しくインストールされていない時に出るエラーらしい。

インストールを最後までやらなくても、インストール途中の./configure…の部分で
./configure --...(オプション略) 2>&1 | tee configure.log
とかやって、configure時のログをファイルに保存して、ファイルをperlとかpythonで検索かけてみると拡張機能がインストールできるかどうかのメッセージが書いてある。
pythonのconfigファイルがありません的なエラーが出てたりする。

そしたら、perlとかpythonとかrubyをインストールする。

perlのインストール
cd
cd tmp/src
wget http://www.cpan.org/src/5.0/perl-5.12.1.tar.gz
tar zxvf perl-5.12.1.tar.gz
cd perl-5.12.1
./configure.gnu --prefix=$HOME/local
make
make install
cd ..
rm -rf perl-5.12.1
cd

pythonのインストール
cd
cd tmp/src
wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tar.bz2
tar jxvf Python-2.6.2.tar.bz2
cd Python-2.6.2
./configure --prefix=$HOME/local
make
make install
cd ..
rm -rf Python-2.6.2
cd

rubyのインストール
cd
cd tmp/src
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2
tar jxvf ruby-1.9.2-p0.tar.bz2
cd ruby-1.9.2-p0
./configure --prefix=$HOME/local
make
make install
cd ..
rm -rf ruby-1.9.2-p0
cd

なお、perlやpythonやrubyは最初からソースにncursesなどのライブラリが組み込まれているらしく
% export CPPFLAGS="-I$HOME/local/include"
% export LDFLAGS="-L$HOME/local/lib"
をしたあとにインストールしようとするとエラーを吐くので、いったん
% unset CPPFLAGS
% unset LDFLAGS
で環境変数をリセットしておく。

vimインストール時にホームディレクトリのperlやpythonを使用するにはもう一手必要である。
といっても簡単で、PATHを通してやるだけなのだ。
インストール前に$HOME/local/binを環境変数PATHの先頭に持ってくるだけで、
インストール時にホームディレクトリのpythonやrubyが使用される。

というわけで、わかっただろうか?
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事へのトラックバック
この記事のトラックバックURL
http://tochiii.blog119.fc2.com/tb.php/237-c623f96f
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。