mysql2のgemのインストール時にchecking for mysql_query() in -lmysqlclient... no が出ていたらC言語版のMySQLのクライアントライブラリがない
mysql2のgemをインストールするときに、
checking for mysql_query() in -lmysqlclient... no ...
のエラーが出て失敗する場合、C言語版のMySQLのクライアントライブラリがないです。
なので、たとえばMac OS X(10.11.6)の場合、
$ brew mysql
でC言語版のMySQLのクライアントライブラリ(コマンドでmysqlって入れたら動きだすやつ)を入れたらインストールを進めることができます。
Macの場合は、上記のようにHomebrewを使ったり、MacPorts, MySQLのインストーラを使ってインストールした場合パスの指定は不要となりますが、他のパスにすでにMySQLのクライアントが入っていてそちらを利用したい場合はオプションでそのパスを指定する必要があります。
--with-mysql-dir[=/path/to/mysqldir]
MySQLのインストールされたパス*1--with-mysql-config[=/path/to/mysql_config]
MySQLにはMySQLのコンパイル方法やMySQLのクライアントへの接続方法が入っている mysql_conf という設定ファイルがあって、そのパスを指定する
なお、上記の2つのオプションは一度にどちらかひとつしか使えません。
native extensionのgem苦手意識あって毎回この辺どたどたしてたんですが、めずらしくすっきりしたのでメモ!