2009年5月19日火曜日

vimインストールで'os_unix.c:45:30 error: selinux/selinux.h: No such file or directory'というエラーが出る

どうも俺です。
僕は新しいサーバが到着したらまず行うのがログインシェルの設定です。
次にvimのインストール(ソース)なのですが、make でこけまくったのでメモします。

OSはCentOS5.3。vimは7.2です。

まずソースをダウンロード
# wget 'ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2'
# wget 'ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz'
# wget 'ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz'
します。
次に解凍
# tar jxvf vim-7.2.tar.bz2
# tar zxvf vim-7.2-lang.tar.gz
# tar zxvf vim-7.2-extra.tar.gz
します。
次に僕はいつもパッチを当てます(※当てなくても良いと思う)
# cd vim72
# mkdir patches
# cd patches
# curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.[001-182]'
... ここでパッチファイルをDLするのをしばし待つ ...
# cd ..
# cat patches/7.2.* | patch -p0
# ./configure --enable-multibyte --enable-xim --enable-fontset --with-features=big
# make && make install
なのですが、今回ここのmakeでずっこけました。
エラー内容は
os_unix.c:45:30: error: selinux/selinux.h: No such file or directory
os_unix.c: In function 'mch_copy_sec':
os_unix.c:2620: warning: implicit declaration of function 'is_selinux_enabled'
os_unix.c:2624: error: 'security_context_t' undeclared (first use in this function)
os_unix.c:2624: error: (Each undeclared identifier is reported only once
os_unix.c:2624: error: for each function it appears in.)....
というエラー文言がズラズラと、、。

「ん~面倒くさい、、、」となりました。
一応os_unix.cファイルなど眺めて見たものの長すぎるため5分で終了。
どうもselinux関連のエラーっぽいので、再度configureオプションを確かめる。
# ./configure --help | less
とすると
  --disable-selinux       Don't check for SELinux support.
「ん!」らしきオプションがあるじゃないか!
というわけでこのオプションを付けてmakeすればインストールできました。

深い原因調査はまた今度、または偉い人に聞いてみてください( ´艸`)

2 件のコメント:

rin1024 さんのコメント...

>> --disable-selinux Don't check for SELinux support.
うわ、これですこれ。
凄い困ってて検索してたどり着いて、やってみたら無事通りました。
ありがとうございます。

yuhei_kagaya さんのコメント...

助かりました!!ありがとうございました。