使用最新版本时,Rails 4崩溃:MySQL-5.6.13
连同mysql-connector-c-6.1.1-winx64。

C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/lib/mysql2/mysql2.so:
[BUG]段错误ruby 2.0.0p195(2013-05-14)[x64-mingw32]

据我了解

...mysql2/mysql2.so: [BUG] Segmentation fault ruby 2.0.0p247

即使使用win32,也没有补救措施。
那么,我应该回滚到Rails3和/或Ruby 1.9吗?

最佳答案

MySQL Connector/C 64位中包含的libmysql.lib与mingw64-gcc编译器不兼容。

您需要生成与mingw64兼容的libmysql.lib文件。

要生成libmysql.lib文件,您需要gendef.exe,该文件可以从mingw-w64发行版中获得(我从https://code.google.com/p/structure-svm-map/downloads/detail?name=svm-map-win.zip&can=2&q=获得)

在mysql连接器的lib文件夹中,通过以下步骤生成libmysql.lib。

gendef.exe libmysql.dll

dlltool -v --dllname libmysql.dll --def libmysql.def --output-lib libmysql.lib

并运行普通的gem install命令。 gem install mysql2 -v'0.3.12b6'---with-opt-dir =“...”

注意:对于MySQL Connector/C 6.1,由于版本比较例程的原因,不能使用mysql2模块,但以下情况除外。 RuntimeError:错误的MySQL客户端库版本!该gem已针对5.7.2-m12进行编译,但客户端库为6.1.0。

您应该在http://dev.mysql.com/downloads/connector/c/6.0.html#downloads中使用mysql-connector-c-6.0.2-winx64.msi

资料来源:https://bugs.ruby-lang.org/issues/8591

关于mysql - Win7x64,Ruby 2.0,MySQL 5.6上的gem mysql2段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18738890/

10-13 06:38