Mysql
 sql >> Datenbank >  >> RDS >> Mysql

...mysql2/mysql2.so:[BUG] Segmentierungsfehler Ruby 2.0.0p247

Die im MySQL Connector/C 64-Bit enthaltene libmysql.lib ist nicht mit dem mingw64-gcc-Compiler kompatibel.

Sie müssen eine mingw64-kompatible libmysql.lib-Datei generieren.

Um die Datei libmysql.lib zu generieren, benötigen Sie gendef.exe, die Sie von der mingw-w64-Distribution erhalten können (ich habe sie von https://code.google.com/p/structure-svm-map/downloads/detail?name=svm-map -win.zip&can=2&q= )

Erstellen Sie im lib-Ordner des mysql-Connectors libmysql.lib mit den folgenden Schritten.

gendef.exe libmysql.dll

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

Und den normalen Gem-Installationsbefehl ausführen. gem install mysql2 -v '0.3.12b6' -- --with-opt-dir="..."

HINWEIS:Im Fall von MySQL Connector/C 6.1 können Sie aufgrund der Versionsvergleichsroutine das mysql2-Modul mit der folgenden Ausnahme nicht verwenden. RuntimeError:Falsche Version der MySQL-Client-Bibliothek! Dieses Juwel wurde für 5.7.2-m12 kompiliert, aber die Client-Bibliothek ist 6.1.0.

Sie sollten mysql-connector-c-6.0.2-winx64.msi in http://dev.mysql.com/downloads/connector/c/6.0.html#downloads

Quelle:https://bugs.ruby-lang.org/issues/8591