Bug #5852
Failure test/test_mathn.rb
| Status: | Closed | Start date: | 01/06/2012 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | ext | |||
| Target version: | 2.0.0 | |||
| ruby -v: | ruby 2.0.0dev (2012-01-06 trunk 34220) [x86_64-darwin10.8.0] |
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
Associated revisions
* configure.in: always define CANONICALIZATION_FOR_MATHN.
[ruby-dev:45100] [Bug #5852]
History
Updated by nagachika (Tomoyuki Chikanaga) 5 months 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,
Updated by nagachika (Tomoyuki Chikanaga) 5 months ago
- Status changed from Open to Closed
- % Done changed from 0 to 100