Mac OSX 10.9 Mavericksにhomebrewでmongodbを入れてc++から使えるようにする

MacでmongodbをC++から使いたかったが,やり方がよく分からなかったのでメモ.

普段Homebrewを使っていて,インストールはbrewコマンド以外でやりたくない.そこで,

# brew install mongodb

してみたところ,mongodbのサーバはインストールされるけど,C++ driver(C++からmongodbへアクセスするために使うライブラリとか)はインストールされない.

なので,

# brew edit mongodb

でFormulaをいじって45行目くらいに

args << "--full"

を追加,51行目くらいに

system scons, "install-mongoclient", *args

を追加してからbrew install mongodbした.

が,変わらず….よく見たらbottleからのインストールになっていた.bottleはここによると,既にコンパイル済みのバイナリのパッケージで,単にダウンロードしてきて展開するだけのもの.なので,上で指定したオプションは全く無視されている.

上記リンク先で書いてあるとおり,bottleを無視して自前でビルドしたい場合は,--build-from-sourceオプションをつける.

# brew install mongodb --build-from-source

これで,上で指定したオプションを反映させてインストールが出来,/usr/local/include/mongodbにC++用ヘッダファイルが,/usr/local/libにライブラリがインストールされる.