Pages

2012年9月16日日曜日

山ライオンのmongodbをアップグレード

OSXを Mountain Lion に入れ替えて、それに対応するmacports のアップデートをやったのは、8月の末。 しかし、いくつかのソフトが動作しない、インストール出来ないなどが被害が続いた。 不具合は、すぐに解決するだろうとたかをくくっていたが、一向に新しいmacportsのバージョンが出ないので、少しづつ対応してみたので以下、まとめ。

  • w3m
  • gaushe
  • mongodb

w3m のアップグレード

原因が不明。以下のサイトを参考にして、とりあえずインストール (Mountain Lionでw3mがコンパイルできない件)[http://d.hatena.ne.jp/kimuraw/20120730/p1]

$ sudo port -f uninstall boehmgc
$ sudo port -s install boehmgc configure.optflags=-O0
$ sudo port clean w3m
$ sudo port install w3m

gaushceのインストール

これは、諦めて本家からソースをダウンロードし、コンパイルした。./configure , make , sudo make install でOK。

mongodb のアップグレード

  • mongodb は、boost に依存している
  • boost が、version 1.5 ではダメらしい。しかし、port インストーラでは
  • 普通にinstallすると boostのversion 1.5 を (これが最新版なので) インストールしようとする

なので、(googleさんにお世話になった結果)

  1. mongodb , boost を uninstall する
  2. boost は、1.49 のソースを取得し、インストールする
  3. mongodbは、依存関係を無視してインストールする -n オプションでインストールする

ことにした。

$ sudo port uninstall mongodb
$ sudo port uninstall boost
$ svn co -r 93341 http://svn.macports.org/repository/macports/trunk/dports/devel/boost/
$ cd boost/
$ sudo port install
(コンパイル完了まで1時間ぐらいかかったかな)

$ port installed | grep boost
  boost @1.49.0_0 (active)

$ sudo port -n install mongodb
--->  Computing dependencies for mongodb
--->  Configuring mongodb
--->  Building mongodb
--->  Staging mongodb into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting mongodb with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load mongodb
###########################################################
--->  Installing mongodb @2.0.7_0
--->  Activating mongodb @2.0.7_0
--->  Cleaning mongodb

mongodbを起動する

$ sudo port load mongodb
Password:
Warning: port definitions are more than two weeks old, consider using selfupdate
$ ps ax | grep mongo
46294   ??  Ss     0:00.01 /opt/local/bin/daemondo --label=mongodb --start-cmd sudo -u _mongo /opt/local/bin/mongod --dbpath /opt/local/var/db/mongodb --logpath /opt/local/var/log/mongodb/mongodb.log --logappend ; --pid=exec
46295   ??  S      0:00.00 sudo -u _mongo /opt/local/bin/mongod --dbpath /opt/local/var/db/mongodb --logpath /opt/local/var/log/mongodb/mongodb.log --logappend
46296   ??  S      0:00.10 /opt/local/bin/mongod --dbpath /opt/local/var/db/mongodb --logpath /opt/local/var/log/mongodb/mongodb.log --logappend
46306 s000  S+     0:00.00 grep mongo

とりあえず、これで終了だが。


うっかりアップグレードすると、boostをアップグレードしてしまいそうだ。忘れないようにするには、どうしたらよいのだろうか?


0 件のコメント:

コメントを投稿