Project

General

Profile

Actions

Bug #5852

closed

Failure test/test_mathn.rb

Added by ayumin (Ayumu AIZAWA) over 10 years ago. Updated over 10 years ago.

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

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]:
    [ruby-core:25740].
    <[]> 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

Updated by nagachika (Tomoyuki Chikanaga) over 10 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,
Actions #2

Updated by nagachika (Tomoyuki Chikanaga) over 10 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.


Actions

Also available in: Atom PDF