人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

OS X Tiger(10.4.10)上のrubyでrcairoを利用しようとしています。
macportsでcairoをインストールしたのですが(1.4.10_0)
gem install cairo
を実行したところ
checking for caoro version(>= 1.2.0)
extconf.rbを失敗します。
どのようにすればインストールできるのかご存じの方教えてください。


●質問者: dambiyori
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2.0 Cairo gem MacPorts OS X
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● moro
●100ポイント ベストアンサー
$ gem install cairo -- --with-cairo-dir=/opt/local 

でどうでしょう。

非標準の場所に入れたライブラリを使うには--with-hgoe-dir=なんかで指定します。

gemへの引数はなし( -- )であることに注意してください。(--with-hoge-dirは拡張ライブラリをビルドする際のextconfなんかへのオプションになります。)

◎質問者からの返答

ご解答ありがとうございます。

なるほど、と思って試してみたのですが、状態は変わらず駄目でした。

/opt/localの中をのぞいてみたら

/opt/local/lib にlibcairoで始まるファイルが入っていて

/opt/local/include/cairo にヘッダファイルが入っているようです。


2 ● moro
●100ポイント

うーん、Leopardではありますが、手元では問題なくインストールできていますね。

可能であればエラーログを見たいです。

$ gem install --debug cairo -- --with-cairo-dir=/opt/local

した上で ruby extconf.rb install から下のログがあれば貼っていただけますか?

あと、思いつくエラーの原因としては

1. gemをインストールする場所のパーミッション

$ sudo gem install --debug cairo -- --with-cairo-dir=/opt/local

2. universal binaryを作ろうとしている

OS X標準のRubyで拡張ライブラリを作ろうとすると往々にしてこれが原因で落ちるみたいです。

cairoとその付随物を +universalで入れ直す、もしくは自分でビルドしたRuby(--enable-shared必須)を使うのが良いかと思います。

Tigerでは付属のRubyがやや古い(1.8.4)こともあり、私も普段は自分で入れたRubyを使ってます。

◎質問者からの返答

お返事遅くなって申し訳ありません。

ログを見ていただけるとの事、本当にありがとうございます。

ログと各種バージョン情報等をまとめてテキストファイルにしてアップロードしました。

ちなみにrubyはMacPortsでインストールしてあります。

http://dambiyori.sakura.ne.jp/hatena/cairoInstallLog.txt

スーパーユーザでないとパーミッションで

引っ掛かるのは確認してましたのでsudoで実行しました。

どうぞ、よろしくお願いします。


3 ● moro
●100ポイント

詳細なログありがとうございます。

でもうーん、分からない。。申し訳ないです。

extconf.rbを読みながらなんでうまくいかないか考えてみたんですが、pkg-configの出力はどうなりますか?

$ pkg-config --libs cairo 
-L/opt/local/lib -lcairo -lfreetype -lz -lfontconfig -lexpat -lpng12 

もしインストールされていないようであれば、MacPortsでpkgconfigを入れてみてください。

◎質問者からの返答

できました!

/opt/bin/の前に/sw/bin/にpathが切ってあったのが原因でした。

以前Finkをインストールしたのをすっかり忘れてました。

pkg-configを実行してなんかおかしいなーと思って

whichで見てみたらそっちを見てて気づきました。

丁寧なご回答どうもありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ