サイログ。

~雑多な記事置き場~

バグ?

mswin32版のRuby1.9.1を使ってRailsを実行しようとしたら、何故か
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」というエラーが起こる。

なんじゃらほいと思ってrails.batを開いてみたら、ありゃ

>>
@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe"" "C:/Program Files/Ruby-1.9.1/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe"" "%~dpn0" %*
<<

ruby.exe」の後ろの二重引用符が2つもある。
というわけで、引用符を1つに減らしたらエラーが出なくなりました。*1

・・・と思ったら、fast_xs.soがコケました・・・。とほほ。

調べてみると、hpricotの古いやつ(0.6.164)が悪さしているようで。
たぶん最新版の0.7だと動くけど、大抵のhpricot使ってるアプリは0.6を自動的に見ちゃってるからコケちゃうと。参ったナー。

とおもって調べてみたら、やっぱり奮闘されているかた(id:anon_193 さん)がいらっしゃいました。
http://d.hatena.ne.jp/anon_193/20090110/1231558906

めんど臭かったので、hpricot-0.6.164のフォルダを引っ張ってきて、上記の日記を参考に修正かけて、mingwでビルドしてみました。
ビルド自体が終わったのですが、実行してみると、

プロシージャエントリポイント DllMain@12がダイナミックリンクライブラリ msvcrt-ruby191.dllから見つかりませんでした。

・・・なんじゃこりゃ?

メッセージを無視すれば、動いているようだけど・・・。

以下、メッセージです。

C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/hpricot-0.6.164-x86-mswin32/lib/
fast_xs.so: [BUG] Segmentation fault
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32]

    • control frame ----------

c:0026 p:-6023872 s:0072 b:0072 l:000071 d:000071 TOP
c:0025 p:---- s:0070 b:0070 l:000069 d:000069 CFUNC :require
c:0024 p:0013 s:0066 b:0066 l:000065 d:000065 TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/core_ext/string/xcha
r.rb:3
c:0023 p:---- s:0064 b:0064 l:000063 d:000063 FINISH
c:0022 p:---- s:0062 b:0062 l:000061 d:000061 CFUNC :require
c:0021 p:0083 s:0058 b:0058 l:000057 d:000057 TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/core_ext/string.rb:9

c:0020 p:---- s:0056 b:0056 l:000055 d:000055 FINISH
c:0019 p:---- s:0054 b:0054 l:000053 d:000053 CFUNC :require
c:0018 p:0040 s:0050 b:0050 l:000040 d:000049 BLOCK C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:3
c:0017 p:---- s:0046 b:0046 l:000045 d:000045 FINISH
c:0016 p:---- s:0044 b:0044 l:000043 d:000043 CFUNC :each
c:0015 p:0040 s:0041 b:0041 l:000040 d:000040 TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:1
c:0014 p:---- s:0039 b:0039 l:000038 d:000038 FINISH
c:0013 p:---- s:0037 b:0037 l:000036 d:000036 CFUNC :require
c:0012 p:0033 s:0033 b:0033 l:000032 d:000032 TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support.rb:55
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :require
c:0009 p:0068 s:0025 b:0025 l:000024 d:000024 TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator.rb:28
c:0008 p:---- s:0023 b:0023 l:000022 d:000022 FINISH
c:0007 p:---- s:0021 b:0021 l:000020 d:000020 CFUNC :require
c:0006 p:0202 s:0017 b:0017 l:000a9c d:000a9c TOP C:/PROGRA~1/RUBY-1~1.1/lib/
ruby/gems/1.9.1/gems/rails-2.3.2/bin/rails:14
c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :load
c:0003 p:0109 s:0007 b:0007 l:000f54 d:001f98 EVAL C:/PROGRA~1/RUBY-1~1.1/bin/
rails:19
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000f54 d:000f54 TOP

:308

                                                    • -
    • Ruby level backtrace information-----------------------------------------

C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext/string/xchar.rb:3:in `require'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext/string/xchar.rb:3:in `'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext/string.rb:9:in `require'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext/string.rb:9:in `'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext.rb:3:in `require'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext.rb:3:in `block in '
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext.rb:1:in `each'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport/core_ext.rb:1:in `'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport.rb:55:in `require'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_s
upport.rb:55:in `'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator.
rb:28:in `require'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator.
rb:28:in `'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/bin/rails:14:in `req
uire'
C:/PROGRA~1/RUBY-1~1.1/lib/ruby/gems/1.9.1/gems/rails-2.3.2/bin/rails:14:in `'
C:/PROGRA~1/RUBY-1~1.1/bin/rails:19:in `load'
C:/PROGRA~1/RUBY-1~1.1/bin/rails:19:in `

'

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

*1:同時期にgemで入れていたrake,ruby-debugにも同じ症状がありました。これって、gemのバグ?