Subscribed unsubscribe Subscribe Subscribe

sci

最果て風呂

Vim と Mavericks

Vim がビルドできない!未解決

先日 OS を Mavericks にしたのだけど、Vim のビルドに支障が出るようになってしまった。解決はしなかったけれど、試行錯誤をしたのでメモをまとめておく。

エラーの内容は下記

os_unix.c:834:13: error: conflicting types for 'sigaltstack'

システムの signal.h とぶつかってるみたい。vim_dev を見てみるとすでに報告がなされていてパッチも出されていた。

自分は vim-jp でミラーされている git リポジトリを使っているのだけど、tag は 61 を打たれていたからビルドは通ると思っていたのだけど、やっぱりダメだった。もう一度見てみると、61 にも問題がありそうな感じ。報告者は一人だけなのでレアなケースなのかも。60 に戻すとビルドが通るので、とりあえずこれでインストールしておく。

Vim はインストールしてしまったので、もうちょっと詳しく調べてみる。61 にして config.log を見てみると ac_cv_header_AvailabilityMacros_h=yes になっていた。上記の報告者とは状況が違うみたい。

os_unix.c の 807 行目にある #if defined(HAVE_AVAILABILITYMACROS_H)コメントアウトして AvailabilityMacros.h を読み込ませるとコンパイルが通るようになる。

Vim のビルドでは src/auto/config.h を見てるようなのだが、ここの一番下にある HAVE_AVAILABILITYMACROS_Hコメントアウトされたままで HAVE_AVAILABILITYMACROS_H 1 になっていない。どういうことなんだろう?configure.inconfigure script を読めってことなのかな?

ちなみに Panther も同じ状況なんだけどビルドは通る。config.h 関係ないじゃん?

config.hHAVE_AVAILABILITYMACROS_H 1 にして make を実行すると 7.4.61 が生成されるので、make install しておいた。

62 で問題解決した。