MySQL5.6 だと ruby-mysql2 が入ったふりをする
Railsアプリをインストールする際にMySQL 5.6だと、mysql2のインストールが問題なく行ったかのように見えるが、実際にアプリを起動しようとすると
I, [2013-04-22T14:30:03.908634 #10246] INFO -- : Refreshing Gem list
/home/nn/redmine/redmine-2.2.2/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (/home/nn/redmine/redmine-2.2.2/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/mysql2.so: undefined symbol: __cxa_pure_virtual - /home/nn/redmine/redmine-2.2.2/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/mysql2.so) (LoadError)
とか言われて起動せず生きるのがつらい状況になっていた。
調べてみると @n0ts さんが
この問題にはまっていた・・・ MySQL Bugs: #51642: Undefined symbol __cxa_pure_virtual bugs.mysql.com/bug.php?id=516…
— Naoya Nakazawaさん (@n0ts) 2013年4月17日
結論的には 5.5 を RPM にダウングレードしてから mysql2 gem を再インストールして 5.6 にアップグレードすればおkだった・・・はまった
— Naoya Nakazawaさん (@n0ts) 2013年4月17日
ということをおっしゃっており、実際その通りやってみたら解決して無事アプリが動き始めた。
mysql2の何が悪いのかはこれから調べる必要があるが、新規に Rails 開発するときに MySQL5.6 で始めると生きるのがつらいことになるかもしれないのでメモ。