views:

199

answers:

2

I'm getting this weird error on my windows 7 computer when I am using the html2haml command with Haml 3 and Rails on Ruby 1.9:

-- control frame ----------
c:0017 p:-9593720 s:0052 b:0052 l:000051 d:000051 TOP
c:0016 p:---- s:0050 b:0050 l:000049 d:000049 CFUNC  :require
c:0015 p:0026 s:0046 b:0046 l:000045 d:000045 TOP    C:/Ruby/lib/ruby/gems/1.9.1/gems/hpricot-0.8.2-x86-mswin32/lib/hpricot.rb:20
c:0014 p:---- s:0044 b:0044 l:000043 d:000043 FINISH
c:0013 p:---- s:0042 b:0042 l:000041 d:000041 CFUNC  :require
c:0012 p:0095 s:0038 b:0038 l:000037 d:000037 TOP    C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/html.rb:101
c:0011 p:---- s:0036 b:0036 l:000035 d:000035 FINISH
c:0010 p:---- s:0034 b:0034 l:000033 d:000033 CFUNC  :require
c:0009 p:0022 s:0030 b:0030 l:000029 d:000029 METHOD C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:559
c:0008 p:0050 s:0023 b:0023 l:000022 d:000022 METHOD C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:41
c:0007 p:0013 s:0020 b:0020 l:000019 d:000019 METHOD C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:22
c:0006 p:0078 s:0016 b:0016 l:000015 d:000015 TOP    C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/bin/html2haml:7
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:0127 s:0007 b:0007 l:000e54 d:0020c0 EVAL   C:/Ruby/bin/html2haml:19
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000e54 d:000e54 TOP
---------------------------
-- Ruby level backtrace information-----------------------------------------
C:/Ruby/lib/ruby/gems/1.9.1/gems/hpricot-0.8.2-x86-mswin32/lib/hpricot.rb:20:in `require'
C:/Ruby/lib/ruby/gems/1.9.1/gems/hpricot-0.8.2-x86-mswin32/lib/hpricot.rb:20:in `<top (required)>'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/html.rb:101:in `require'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/html.rb:101:in `<top (required)>'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:559:in `require'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:559:in `process_result'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:41:in `parse'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/lib/haml/exec.rb:22:in `parse!'
C:/Ruby/lib/ruby/gems/1.9.1/gems/haml-3.0.0/bin/html2haml:7:in `<top (required)>'
C:/Ruby/bin/html2haml:19:in `load'
C:/Ruby/bin/html2haml:19:in `<main>'

[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.

And then ruby crashes. I have reinstalled all the gems but nothing will help. Please help me

+2  A: 

Hello,

Looks like hpricot gem you have installed lack binaries to support Ruby 1.9. All Gem that contains C extensions pre-compiled are linked against Ruby 1.8 or 1.9 binaries, and are not interchangeable.

A recommendation to point gem authors is build what is know as fat-binaries which provide support for both 1.8 and 1.9 versions of Ruby on Windows.

Alternatively, you can install Ruby using RubyInstaller binaries and compile the gem yourself using the Development Kit

Luis Lavena
A: 

Turns out that the hpricot_scan.so and fast_xs.so have the wrong file ending. They should be .dll and not .so

Micke
Incorrect, those are Ruby C extensions and the default extension for that is .so to avoid DLL conflicts.The issue is what I pointed in my comment: the extension are linked to Ruby 1.8 instead of 1.9
Luis Lavena