About Digital

i wanna be a bot...

DBD::mysqlがMySQL5.6、OS X Mavericksに入らない

Posted in  Perl, Tech | Comments


※2014/02/06

入った


MacOS 10.9にしたiMacでもPerlとMySQLを使った開発がしたくなったのだが、DBD::mysqlがうまく入らなくてこまってる。あと、MySQL自体をHomebrewから入れるときに少し躓いたからそのこともメモとして残しておく。

  • 環境

    • OS X Mavericks (SnowLeopardからアップデート、過去に一度mysqlのdmgインストール歴有り)

    • MySQL5.6 (by Homebrew)

    • Perl5.18.1 (by plenv)

MySQL5.6

$ brew install mysql

これでmysql自体は入るのだが、恐らくSnowLeorpardからアップデートした影響があり、/etc/my.cnfがmysql5.6で扱えないオプションを含んでいて起動ができない。具体的には

$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

これに失敗する。しょうがないからログをみながら/etc/my.cnfの中の怒られているオプションにloose-をつけていく1/usr/local/etc/my.cnfに5.6に対応してるmy.cnfをちゃんと置いたんだけど、どうやら/etc/my.cnfも見ているようで、そっちの中のエラー箇所を対応する必要があった。

まぁそんなこんなしてると

$ mysql.server start

ができるようになるので、あとはとりあえずrootのパスワードだとかセキュリティの設定をすればOK2

DBD::mysql

普通に

$ cpanm DBI
$ cpanm DBD::mysql

したわけだけど、DBIはうまく入ったみたいだけどDBD::mysqlのテストでコケる。テストでコケるだけじゃなくてなんか他にもclangがcレベルのエラーを吐いてる。正直コレにはこまってて未だに解決してない。誰か解決策がわかるならおしえてほしい。cpanm --lookして環境変数いじったりとかしてみたけど改善されなかった。

エラーログのgistを載せておこうと思う。

なんすか

t/00base.t ........................... 1/6 Assertion failed: (PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK] || SvTYPE(_svcur) == SVt_REGEXP), function err_hash, file DBI.xs, line 866.

って。DBI.xsでのエラー?ちょっとそういうのやめてもらいたいのですが。


Comments