Bug #5852

Failure test/test_mathn.rb

Added by Ayumu AIZAWA about 3 years ago. Updated about 3 years ago.

[ruby-dev:45100]
Status:Closed
Priority:High
Assignee:-
ruby -v:ruby 2.0.0dev (2012-01-06 trunk 34220) [x86_64-darwin10.8.0] Backport:

Description

r34220 にて RUBY_API_VERSION を 2.0.0 にしたところ、Mathnのテストが失敗するようになりました。

ruby ➔ make test-all TESTS=test/test_mathn.rb
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" test/test_mathn.rb
Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"

Running tests:

F

Finished tests in 0.168567s, 5.9324 tests/s, 11.8647 assertions/s.

1) Failure:
test_power(TestMathn) [/Users/ayumin/github/ruby/test/test_mathn.rb:7]:
.
<[]> expected but was
<["dyld: lazy symbol binding failed: Symbol not found: nurat_canonicalization",
" Referenced from: /Users/ayumin/github/ruby/.ext/x86_64-darwin10.8.0/mathn/rational.bundle",
" Expected in: flat namespace",
"",
"dyld: Symbol not found: _nurat
canonicalization",
" Referenced from: /Users/ayumin/github/ruby/.ext/x86_64-darwin10.8.0/mathn/rational.bundle",
" Expected in: flat namespace",
""]>.

1 tests, 2 assertions, 1 failures, 0 errors, 0 skips

ruby -v: ruby 2.0.0dev (2012-01-06 trunk 34220) [x86_64-darwin10.8.0]
make: *** [yes-test-all] Error 1

Associated revisions

Revision 34221
Added by Tomoyuki Chikanaga about 3 years ago

  • configure.in: always define CANONICALIZATION_FOR_MATHN. [Bug #5852]

Revision 34221
Added by Tomoyuki Chikanaga about 3 years ago

  • configure.in: always define CANONICALIZATION_FOR_MATHN. [Bug #5852]

History

#1 Updated by Tomoyuki Chikanaga about 3 years ago

configure.in で CANONICALIZATION_FOR_MATHN を設定する条件に if test "$MAJOR" = "1" を使っているためのようです。
導入された経緯はよくわりませんが、この条件ははずしてしまってもいいのではないでしょうか。とりあえず以下の変更で test-all が動くようならコミットしてしまおうと思います。

diff --git a/configure.in b/configure.in
index b9f3c79..905efd1 100644
--- a/configure.in
+++ b/configure.in
@@ -86,9 +86,7 @@ RUBY_PROGRAM_VERSION=sed -n 's/^#define RUBY_VERSION "\(.*\)"/\1/p' $srcdir/ver
AC_SUBST(RUBY_PROGRAM_VERSION)
RUBY_RELEASE_DATE=
sed -n 's/#define RUBY_RELEASE_DATE "(.*)"/\1/p' $srcdir/version.h`
AC_SUBST(RUBY_RELEASE_DATE)
-if test "$MAJOR" = "1"; then
- AC_DEFINE(CANONICALIZATION_FOR_MATHN)
-fi
+AC_DEFINE(CANONICALIZATION_FOR_MATHN)
dnl checks for alternative programs
AC_CANONICAL_BUILD
AC_ARG_WITH(gcc,

#2 Updated by Tomoyuki Chikanaga about 3 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r34221.
Ayumu, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • configure.in: always define CANONICALIZATION_FOR_MATHN. [Bug #5852]

Also available in: Atom PDF