Windows7のrailsからmysql接続でエラー
Windows環境でmysql-connectorが正しく動かなくて苦労しました
ダウンロードできる64ビットWindows版のmysql-connectorに同梱されているlibmysql.libは、64ビット版DevKitのmingw64-gccコンパイラと非互換のため、mingw64互換のlibmysql.libを生成する必要があるようです。
rails cを実行した時のエラーは以下の内容です
c:/Users/lanchester/myproject/bundle/ruby/2.1.0/extensions/x64-mingw32/2.1.0/mysql2-0.3.17/mysql2/mysql2.so: [BUG] Segmentation fault
ruby 2.1.5p273 (2014-11-13 revision 48405) [x64-mingw32]
対応としては、以下のURLからsvm-map-win.zipをダウンロードしてきます。
https://structure-svm-map.googlecode.com/files/svm-map-win.zip
gendef.exeをつかってMySQL-Connectorのlibmysql.dllからlibmysql.defを生成します。
gendef.exe libmysql.dll
あとはDevKitのdllToolを使って以下のようにlibmysql.libを生成します。
dlltool -v –dllname libmysql.dll –def libmysql.def –output-lib libmysql.lib
生成が完了したら、libmysql.libをmysql-connectorのファイルに上書きします。
ちなみに、MySQL-Connectorはインストーラを使って入れたので、bundlerでmysql2のgemをインストールするためにbundlerの設定ファイルに以下のように設定しています。
~/.bundle/config
BUNDLE_BUILD__MYSQL2: “–platform=ruby –with-mysql-dir=’C:\\\\Program Files\MySQL\MySQL Connector C 6.1′”
2015.02.05 追記
MySQL Connectorは、libmysql.dllのある場所にパスを通す必要があります。
新しいことや難しい課題に挑戦することにやりがいを感じ、安定やぬるい事は退屈だと感じます。 考えるより先に手が動く、肉体派エンジニアで座右の銘は諸行無常。 大事なのは感性、プログラミングにおいても感覚で理解し、感覚で書きます。
TAG
- Android
- AWS
- Bitrise
- CodePipeline
- Firebase
- HTML
- iOS
- IoT
- JavaScript
- KPI
- Linux
- Mac
- Memcached
- MGRe
- MGReのゆるガチエンジニアブログ
- MySQL
- PHP
- PICK UP
- PR
- Python
- Ruby
- Ruby on Rails
- SEO
- Swift
- TIPS
- UI/UX
- VirtualBox
- Wantedly
- Windows
- アクセス解析
- イベントレポート
- エンジニアブログ
- ガジェット
- カスタマーサクセス
- サーバ技術
- サービス
- セキュリティ
- セミナー・展示会
- テクノロジー
- デザイン
- プレスリリース
- マーケティング施策
- マネジメント
- ラボ
- リーンスタートアップ
- 企画
- 会社紹介
- 会社紹介資料
- 勉強会
- 実績紹介
- 拡張性
- 採用
- 日常
- 書籍紹介
- 歓迎会
- 社内イベント
- 社員インタビュー
- 社長ブログ
- 視察
- 開発環境