MacOSX上のRedmine Backlogでnokogiriがライブラリエラーを吐くのでinstall_name_toolで対応した

非IT系のエンジニアな私ですが、ソフトウェア開発で取り入れられているAgile開発に憧れる今日このごろ。Agileのひとつと言われる「スクラム」開発を実現できないかとRedmineのプラグイン「Backlog」を試すことにしました。環境はとりあえずmacのローカル環境です。

すでにインストールを済ませていたRedmineに入れようとしたら、gemのnokogiriが参照しているライブラリが存在しなくて怒られました。以下、その対処。

otoolで調べると、確かに存在しないパスを探していた。多分、MacPortsを消してHomebrewに一本化しようと/opt/local以下を綺麗サッパリ消したことも一因かと。libxml2と、libiconv。

libxmlは/usr/libにあったのでそちらを参照するように、install_name_toolでパスを書き換え。

続いてlibiconv。Homebrewにはlibiconvはなかった。がーん。とりあえず、nokogiriのチュートリアルに従ってソースからコンパイル。

ふたたびbacklogのインストールをトライ。

またもや撃沈。どうやらMacPortsを消した余波が大きかった模様。依存関係のあるgemが参照するlibsslとlibcryptoがない(/opt/local以下に)と言われる。しかも /usr/lib以下のライブラリをinstal_name_toolで設定したが、今度はバージョンがNGだった(MacOSX 10.8.4にはlibssl.0.9.8しかなく、libssl1.0.0じゃなきゃダメだと言われる。)探してみるとHomebrewでインストールされたopensslにlibsslとlibcryptoがあったので、そちらを指定。

再度インストールをトライ。
やっと動いた!

2.3.2.stable. You are running backlogs v1.0.5, latest version is 1.0.5

以上、LinuxでいうLD_LIBRARY_PATH的な環境変数を設定すればいいのかもしれないけど、設定次第でほかのアプリケーションが動かなくなるのも困るので、install_name_toolで対応してみました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です