さくらサーバでvimを起動したら /libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "vim" とか言われた件

これは何?
久しぶりにさくらのサーバに入って、vimを起動したら、こんなエラーが出て起動できませんでした

/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "vim"



先に解決方法

%ln -sf /usr/local/lib/libintl.so.8 $HOME/local/lib/libintl.so.6



んで、.cshrc に、以下を追加すればOK


setenv LD_LIBRARY_PATH $HOME/local/lib



原因


先日行われたサーバのアップデートが原因らしいです



2009/05/19/さくらインターネットでSVNが使えなくなった件 - くじらぶろぐD


 
んで、ほぼ全てのblogで、/usr/lib/libintl.so.8 を $HOME/local/lib/libintl.so.6 にシンボリックリンクしてやれば解決! と書かれいるけど、自分の所は相変わらず同じエラーが出ました



んで、さらに調べたところ、ランタイムライブラリのpathを指定する環境変数 LD_LIBRARY_PATH の存在を知る



UNIXの部屋 コマンド検索:LD_LIBRARY_PATH (*BSD/Linux)



ひょっとして、libintl.so.6 も、この環境変数のpathを探しに行ってるのかな?と思い、setenv してみたところ…ビンゴ!!


.vimrc の設定


さくらは、システムの文字コードsjis なのだけど、vimを起動して、set encoding を指定すると、何故か
Italian と表示されたので、明示的に指定してあげると吉


set encoding=sjis



後、.vimrc の文字コードutf-8 だと、 ~ とかを正しく認識しないので、sjis に変換してからサーバにupしたほうがいいみたいです



そもそも libintl ってなんぞ?

LibIntl: library for native language support

LibIntl for Windows


だそうです

そんなかんじー