要求mysql2 gem时出现分段错误

3

我一直在使用1.8.7版本开发rails应用程序,现在尝试切换到1.9.2版本(使用RVM)。

然而,在切换了rubies、安装了rails并绑定了我的应用程序后,运行“rails s”会遇到以下错误(在irb中执行“require 'mysql2'”也会出现相同的错误):

/Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

完整输出如下:

-- 控制框架 ----------
c:0030 p:-541397022 s:0092 b:0092 l:000091 d:000091 TOP   
c:0029 p:---- s:0090 b:0090 l:000089 d:000089 CFUNC  :require
c:0028 p:0012 s:0086 b:0086 l:000070 d:000085 BLOCK  /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239
c:0027 p:0005 s:0084 b:0084 l:000075 d:000083 BLOCK  /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225
c:0026 p:0045 s:0082 b:0082 l:000081 d:000081 METHOD /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596
c:0025 p:0041 s:0076 b:0076 l:000075 d:000075 METHOD /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225
c:0024 p:0013 s:0071 b:0071 l:000070 d:000070 METHOD /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239
c:0023 p:0072 s:0066 b:0066 l:000065 d:000065 TOP    /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7
c:0022 p:---- s:0064 b:0064 l:000063 d:000063 FINISH
c:0021 p:---- s:0062 b:0062 l:000061 d:000061 CFUNC  :require
c:0020 p:0026 s:0058 b:0058 l:000039 d:000057 BLOCK  /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:68
c:0019 p:---- s:0055 b:0055 l:000054 d:000054 FINISH
c:0018 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC  :each
c:0017 p:0091 s:0050 b:0050 l:000039 d:000049 BLOCK  /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:66
c:0016 p:---- s:0045 b:0045 l:000044 d:000044 FINISH
c:0015 p:---- s:0043 b:0043 l:000042 d:000042 CFUNC  :each
c:0014 p:0046 s:0040 b:0040 l:000039 d:000039 METHOD /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:55
c:0013 p:0021 s:0036 b:0036 l:000035 d:000035 METHOD /Users/kmurph79/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler.rb:120
c:0012 p:0079 s:0032 b:0032 l:000031 d:000031 TOP    /Users/kmurph79/Documents/Rails_Projects/SmugFolio2/config/application.rb:7
c:0011 p:---- s:0030 b:0030 l:000029 d:000029 FINISH
c:0010 p:---- s:0028 b:0028 l:000027 d:000027 CFUNC  :require
c:
通过homebrew安装的Mysql在1.8.7下运行良好,但是也许我需要安装一个新版本的mysql?我不确定。非常感谢您的任何帮助。

1
我认为你可能需要重新编译mysql gem,尝试删除gem并重新安装它...不幸的是,Ruby和MySQL之间的集成是我经历过的最痛苦的体验之一 :( - Augusto
你有没有偶然间在1.8和1.9之间复制gemsets? - edmz
当我尝试同时安装gem install rails和mysql2时,这种情况就发生了。当我卸载并重新安装mysql2适配器时,问题得到了解决。 - jsarma
安装libmariadbclient-dev软件包并重新安装gem。 - Navin
1个回答

1

我通过下载最新版本的MySQL解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接