2010-12-13 53 views
0

J'essaie d'installer une application rails sous Windows Server 2008 et d'atteindre un barrage routier ... J'ai installé la gem mysql2 et chaque fois que j'essaye de l'exiger dans irb pour tester l'installation, j'obtiens une faute de segmentation désagréable.Défaillances de segmentation sur les gems de base de données pour Ruby 1.9.2 sous Windows Server 2008

 
C:\Users\Administrator>gem install mysql2 
Successfully installed mysql2-0.2.6-x86-mingw32 
1 gem installed 
Installing ri documentation for mysql2-0.2.6-x86-mingw32... 
Enclosing class/module 'mMysql2' for class Client not known 
Installing RDoc documentation for mysql2-0.2.6-x86-mingw32... 
Enclosing class/module 'mMysql2' for class Client not known 

C:\Users\Administrator>irb 
irb(main):001:0> require 'mysql2' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/1.9/mysql2.so: [BUG] Segmentation fault 
ruby 1.9.2p0 (2010-08-18) [i386-mingw32] 

-- control frame ---------- 
c:0035 p:-11375406 s:0122 b:0122 l:000121 d:000121 TOP 
c:0034 p:---- s:0120 b:0120 l:000119 d:000119 CFUNC :require 
c:0033 p:0013 s:0116 b:0116 l:000115 d:000115 METHOD :29 
c:0032 p:0032 s:0111 b:0111 l:000110 d:000110 TOP C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/mysql2.rb:2 
c:0031 p:---- s:0109 b:0109 l:000108 d:000108 FINISH 
c:0030 p:---- s:0107 b:0107 l:000106 d:000106 CFUNC :require 
c:0029 p:0013 s:0103 b:0103 l:000102 d:000102 METHOD :29 
c:0028 p:0072 s:0098 b:0098 l:000097 d:000097 TOP C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2.rb:7 
c:0027 p:---- s:0096 b:0096 l:000095 d:000095 FINISH 
c:0026 p:---- s:0094 b:0094 l:000093 d:000093 CFUNC :require 
c:0025 p:0073 s:0090 b:0090 l:000086 d:000089 BLOCK :33 
c:0024 p:0014 s:0087 b:0087 l:000086 d:000086 METHOD :29 
c:0023 p:0011 s:0082 b:0082 l:001f94 d:000081 EVAL (irb):1 
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH 
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval 
c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD C:/Ruby192/lib/ruby/1.9.1/irb/workspace.rb:80 
c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD C:/Ruby192/lib/ruby/1.9.1/irb/context.rb:254 
c:0018 p:0031 s:0058 b:0058 l:0003e4 d:000057 BLOCK C:/Ruby192/lib/ruby/1.9.1/irb.rb:159 
c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD C:/Ruby192/lib/ruby/1.9.1/irb.rb:273 
c:0016 p:0011 s:0045 b:0045 l:0003e4 d:000044 BLOCK C:/Ruby192/lib/ruby/1.9.1/irb.rb:156 
c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:243 
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH 
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop 
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229 
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH 
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch 
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228 
c:0008 p:0046 s:0022 b:0022 l:0003e4 d:0003e4 METHOD C:/Ruby192/lib/ruby/1.9.1/irb.rb:155 
c:0007 p:0011 s:0019 b:0019 l:000ca4 d:000018 BLOCK C:/Ruby192/lib/ruby/1.9.1/irb.rb:70 
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH 
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch 
c:0004 p:0183 s:0011 b:0011 l:000ca4 d:000ca4 METHOD C:/Ruby192/lib/ruby/1.9.1/irb.rb:69 
c:0003 p:0039 s:0006 b:0006 l:0017b4 d:000334 EVAL C:/Ruby192/bin/irb:12 
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
c:0001 p:0000 s:0002 b:0002 l:0017b4 d:0017b4 TOP 
--------------------------- 
-- Ruby level backtrace information ---------------------------------------- 
C:/Ruby192/bin/irb:12:in `' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:69:in `start' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:69:in `catch' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:70:in `block in start' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:155:in `eval_input' 
C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement' 
C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch' 
C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement' 
C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop' 
C:/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:273:in `signal_status' 
C:/Ruby192/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input' 
C:/Ruby192/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate' 
C:/Ruby192/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate' 
C:/Ruby192/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval' 
(irb):1:in `irb_binding' 
:29:in `require' 
:33:in `rescue in require' 
:33:in `require' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2.rb:7:in`' 
:29:in `require' 
:29:in `require' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/mysql2.rb:2:in `' 
:29:in `require' 
:29:in `require' 

[NOTE] 
You may have encountered a bug in the Ruby interpreter or extension libraries. 
Bug reports are welcome. 
For details: http://www.ruby-lang.org/bugreport.html 

Cette application a demandé au Runtime de le terminer de façon inhabituelle. Veuillez contacter l'équipe d'assistance de l'application pour plus d'informations.

J'ai essayé de copier le fichier libmysql.dll dans mon dossier Ruby bin, et cela n'a pas aidé. J'ai même essayé d'utiliser la gem mysql et j'ai le même type d'erreur mais cette fois-ci dans le fichier mysql_api.so.

Puis j'ai pensé que je pourrais juste essayer sqlite3 et j'ai toujours eu l'erreur.

Si cela fait une différence ici sont mes versions:

C: \ Users \ Administrator> mysql --version mysql Ver 14,12 Distrib 5.0.83, pour Win32 (ia32)

C: \ Users \ administrateur> rails -v rails 3.0.3

C: \ Users \ administrateur> ruby ​​-v rubis 1.9.2p0 (2010-08-18) [i386-mingw32]

J'espère que quelqu'un peut m'aider. Merci d'avance.

Répondre

0

Si vous utilisez le programme d'installation rubis sur les fenêtres:

  • Utilisez libmysql de MySQL 5.1 avec Ruby 1.9.2
  • Utilisez libmysql vient MySQL 5.0 avec Ruby 1.8.7

En Dans les deux cas, vous pouvez utiliser My SQL Server 5.1. Il fonctionnera avec l'ancienne bibliothèque client lorsque vous travaillez dans ruby ​​1.8.7.