From: Tadashi Saito Date: 2007-02-12T02:20:49+09:00 Subject: [ruby-dev:30321] [ruby_1_8] can't grub Digest::SHAxxx on powerpc-darwin こんばんは。斎藤と申します。 # どこに付けようか、件名はどうすべきかとか悩んだのですが、 # より適切な方針がありましたら、教えていただければ幸いです 1.8.6のリリーススケジュールを耳にしまして、久しぶりにruby_1_8をMac OS X でビルドしてみました。以下のようにconfigureした後 $ ../../ruby_1_8/configure --enable-shared --enable-pthread --program-suffix=_1_8 --prefix=$HOME --with-readline-dir=$HOME makeしました。インストールまでは問題なく行えたようです。 $ ruby_1_8 -v ruby 1.8.5 (2007-02-11 patchlevel 5000) [powerpc-darwin8.8.0] しかしmake testは大丈夫だったのですが、make test-allが通りません でした。(というよりも、始まりませんでした) $ make test-all ./miniruby ../../ruby_1_8/runruby.rb --extout=.ext -- "../../ruby_1_8/test/runner.rb" --basedir="../../ruby_1_8/test" --runner=console /svn/ruby/o/ruby_1_8/.ext/common/digest.rb:16:in `const_missing': Digest class not found: Digest::SHA384 (NameError) make: *** [test-all] Error 1 digest.rb諸々の修正を思いだし、とりあえずSHA384単体を評価してみた のですが $ ruby_1_8 -rdigest -e 'Digest::SHA384' /lib/ruby/1.8/digest.rb:15:in `const_missing': Digest class not found: Digest::SHA256 (NameError) とダメでした。しかも $ ruby_1_8 -rdigest -e 'Digest::SHA256' /lib/ruby/1.8/digest.rb:15:in `const_missing': Digest class not found: Digest::SHA384 (NameError) と、ループしているような様子です。require先を変えても結局は同じでした。 $ ruby_1_8 -rdigest/sha2 -e 'Digest::SHA384' /lib/ruby/1.8/digest.rb:15:in `const_missing': Digest class not found: Digest::SHA256 (NameError) $ ruby_1_8 -rdigest/sha2.so -e 'Digest::SHA384' /lib/ruby/1.8/digest.rb:15:in `const_missing': Digest classs not found: Digest::SHA256 (NameError) ただなぜか、定数として存在しているようには見えます。 $ ruby_1_8 -rdigest -e 'p Digest.constants' ["SHA256", "Base", "SHA512", "SHA384", "Instance", "Class"] なお下の環境では、Digest::SHA384の評価に問題は出ませんでした。 ruby 1.9.0 (2007-02-10 patchlevel 0) [powerpc-darwin8.8.0] ruby 1.8.5 (2007-02-11 patchlevel 5000) [i686-linux] ruby 1.9.0 (2007-02-10 patchlevel 0) [i686-linux] - - 他にもいろいろ考えたのですが、自分にはお手上げなので調べた限りを報告させ ていただきました。 なお蛇足かも知れませんが、卜部さんのサイトでも同じことが確認できるようで す。 http://mput.dip.jp/autobuild/ruby-1.8/latest.html さらに、同様と思われる問題はdigestの改修が行われた2006/10/26以降、ずっと 起こり続けているようです。 http://mput.dip.jp/autobuild/ruby-1.8/summary.html 長文ですみませんが、よろしくお願いいたします。 -- 斎藤ただし