Drip icon indicating copy to clipboard operation
Drip copied to clipboard

Ruby2.0.0-p0で依存gem(rbtree)のインストールに失敗する

Open kitak opened this issue 12 years ago • 6 comments

Ruby2.0.0-p0でrbtree gemのインストールが失敗するので,Dripのインストールが失敗します.以下のふたつの方法で解決しました.ご所見をお聞かせください.

  • エラーの原因がrbtree gemの構成にあったので新しいgemを作り, それを利用しました.kitak/rbtree2
  • 代用にrbtree-pure gemを利用する.pwnall/rbtree-pure

フォークしたリポジトリkitak/Drip

rbtreeインストール時のエラーログ

uilding native extensions.  This could take a while...
ERROR:  Error installing rbtree:
    ERROR: Failed to build gem native extension.

    /Users/kitak/.rbenv/versions/2.0.0-p0/bin/ruby extconf.rb
checking for ruby/st.h... yes
checking for rb_exec_recursive() in ruby.h... yes
creating Makefile

make
compiling dict.c
compiling rbtree.c
linking shared-object rbtree.bundle

make install
/usr/local/bin/ginstall -c -m 0755 rbtree.bundle /Users/kitak/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rbtree-0.3.0/.
/usr/local/bin/ginstall: ‘rbtree.bundle’ and ‘/Users/kitak/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rbtree-0.3.0/./rbtree.bundle’ are the same file
make: *** [install-so] Error 1


Gem files will remain installed in /Users/kitak/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rbtree-0.3.0 for inspection.
Results logged to /Users/kitak/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rbtree-0.3.0/./gem_make.out

kitak avatar Feb 25 '13 08:02 kitak

ありがとうございます。 pure rubyの赤黒木の実装なら自分でも持っているので、RBTreeの利用にこだわりたいです。 (pure rubyの場合、赤黒木ではなく入れ子のArrayにすると思います。)

RBTreeのオリジナル版が改訂されるのを待つべきでしょうか? 連絡先どこなんだろ...。

本家が改訂されるようすがなければ、rbtree2を、 あるいはその間にpure rubyの速い実装を思いついたらrbtreeなしで動くものを採用しようかなあ...。

seki avatar Feb 25 '13 12:02 seki

http://raa.ruby-lang.org/project/ruby-rbtree/ にあるメールアドレスに問い合わせしてみましたー。

seki avatar Feb 25 '13 13:02 seki

問い合わせ,ありがとうございます! (最初,本家の作者の方に連絡しようと思ったのですが,連絡先がみつからずに困ってました) では,本家が改訂されるのを少し待つということで.

kitak avatar Feb 25 '13 13:02 kitak

[ruby-core:52882] [ruby-trunk - Bug #7698][Assigned] RubyGems 2.0 has an incompatibility about installation of extension libraries

こういうのが出てました。RubyGemsの問題なのかなあ。 よくわからないけど。

seki avatar Feb 25 '13 15:02 seki

I can still reproduce this with RubyGems 2.0.3 on ruby 2.1.0dev (2013-06-16 trunk 41328) [x86_64-darwin12.3.0]

zzak avatar Jun 16 '13 02:06 zzak

This should work now on ruby-2.0.0, but is broken on ruby-2.1.0.

In order to fix this in rbtree, we should apply the following patch: https://gist.github.com/tmm1/7609371

See also: ruby-core:58715 in https://bugs.ruby-lang.org/issues/9121

zzak avatar Dec 01 '13 03:12 zzak