cmigemoの再インストールではまった話
homebrewを使ってインストールしたcmigemoを再インストールした時にはまった話。
経緯
cmigemoはいっとき、homebrewからインストール出来ない状態が続いていました。ここ参照
たしか、Cellarというディレクトリにインストールされないで、/usr/local に直接インストールされるのはだめよって意味だと思います。 ここ参照
なので、brew doctor するとwarningが必ず出ていたんですが、下手にいじるとmigemo使えなくなりそうな気がして、放っておきました。
でも、最近 このコミット で対処されたようなので、warningを消そうと意気込んでみました。
やったこと
brew doctor すると、このようなWarningが出る。
-> brew doctor Warning: Your Homebrew is outdated You haven't updated for at least 24 hours, this is a long time in brewland! Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. Unexpected dylibs: /usr/local/lib/libmigemo.1.1.0.dylib
意味は
homebrewが意図しないファイルがあるから削除しないとビルドする時にトラブルの原因になるよ
ということ。ここにも対処法が出ている。
でも、これを放っておいて、cmigemoを再インストールしようとすると
-> brew install cmigemo ==> Downloading http://cmigemo.googlecode.com/files/cmigemo-default-src-20110227.zip ######################################################################## 100.0% ==> Patching patching file src/wordbuf.c ==> chmod +x ./configure ==> ./configure --prefix=/usr/local/Cellar/cmigemo/20110227 ==> make osx ==> make osx-dict ==> make utf-8 ==> make osx-install ==> Caveats See also https://gist.github.com/457761 to use cmigemo with Emacs. You will have to save as migemo.el and put it in your load-path. Warning: Could not link cmigemo. Unlinking... Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local You can try again using `brew link cmigemo' ==> Summary /usr/local/Cellar/cmigemo/20110227: 21 files, 12M, built in 7 seconds
とエラーになる。
なので、無駄なcmigemoが残ってるんだろうということで
-> brew remove cmigemo Uninstalling /usr/local/Cellar/cmigemo/20110227...
として再度インストールしてもやっぱり同じようなエラーになる。
では、最初に戻って brew の言うとおりやってみる。
まずはインストール時のエラーメッセージの通り brew link cmigemo をやってみる。
brew link cmigemo Linking /usr/local/Cellar/cmigemo/20110227... Warning: Could not link cmigemo. Unlinking... Error: Could not symlink file: /usr/local/Cellar/cmigemo/20110227/bin/cmigemo Target /usr/local/bin/cmigemo already exists. You may need to delete it. To force the link and delete this file, do: brew link --overwrite formula_name To list all files that would be deleted: brew link --overwrite --dry-run formula_name
--overwirte オプションをつけろと。。。
-> brew link --overwrite cmigemo Linking /usr/local/Cellar/cmigemo/20110227... Warning: Could not link cmigemo. Unlinking... Error: Could not symlink file: /usr/local/Cellar/cmigemo/20110227/lib/libmigemo.dylib /usr/local/lib/libmigemo.dylib may already exist. /usr/local/lib may not be writable.
/usr/local/lib/libmigemo.dylib がすでにあるから link 出来ないよってことらしい。。。
では再度cmigemoを削除して brew doctor で言われた通りやってみる。
-> brew remove cmigemo Uninstalling /usr/local/Cellar/cmigemo/20110227.. -> ls /usr/local/lib/libmigemo.* /usr/local/lib/libmigemo.1.dylib /usr/local/lib/libmigemo.dylib -> rm /usr/local/lib/libmigemo.*
brew doctorでは /usr/local/lib/libmigemo.1.1.0.dylib だけが無駄っぽいことが書いてあったけど全部削除しちゃいました。
最後に
brew install cmigemo ==> Downloading http://cmigemo.googlecode.com/files/cmigemo-default-src-20110227.zip Already downloaded: /Library/Caches/Homebrew/cmigemo-20110227.zip ==> Patching patching file src/wordbuf.c ==> chmod +x ./configure ==> ./configure --prefix=/usr/local/Cellar/cmigemo/20110227 ==> make osx ==> make osx-dict ==> make utf-8 ==> make osx-install ==> Caveats See also https://gist.github.com/457761 to use cmigemo with Emacs. You will have to save as migemo.el and put it in your load-path. ==> Summary /usr/local/Cellar/cmigemo/20110227: 21 files, 12M, built in 5 seconds
となって無事インストールできました。
よかったよかった。。