MAMPな環境のmacにDBD::mysqlをインストール
- OSX El Capitan(10.11.5)
- MAMPのバージョン 3.0.7.3 ※1
- MySQLのバージョン 5.5.38
MAMPだとWarning (mostly harmless): No library found for -lmysqlclient
のエラーでインストール出来ない。
mysql.h
が存在しないため、別途インストールする必要があるようだ。
検索しているとC++ で MAMP の MySQL に接続する : あかぎメモに
まずこの記事の手順で、MySQL のヘッダファイルやライブラリを用意しておく。うまくいけば次のようなファイルができる。
/Applications/MAMP/Library/include/mysql/mysql.h
/Applications/MAMP/Library/lib/libmysqlclient.dylib
とある。このエントリーを参照してヘッダファイル等をインストールしてみる。
手順エントリー:Ruby on Rails 入門 (1日目) : あかぎメモ
$ brew install cmake
$ cd /tmp
$ curl -OL http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.29.tar.gz
$ tar zxvf mysql-5.5.38.tar.gz
$ cd mysql-5.5.38
$ cmake . \
-DMYSQL_UNIX_ADDR=/Applications/MAMP/tmp/mysql/mysql.sock \
-DCMAKE_INSTALL_PREFIX=/Applications/MAMP/Library
$ make -j 3
$ cp -v libmysql/*.dylib /Applications/MAMP/Library/lib
$ mkdir -p /Applications/MAMP/Library/include/mysql
$ cp -v include/*.h /Applications/MAMP/Library/include/mysql
.bash_profileの設定
インストール時に参照されるMySQL関連のパス等を.bash_profileに書いておく。
参考:
DBD::mysql - Environment Variable
# export path for MAMP
export PATH="$PATH:/Applications/MAMP/Library/bin/"
export DBD_MYSQL_CFLAGS=-I/Applications/MAMP/Library/include/mysql
export DBD_MYSQL_LIBS="-L/Applications/MAMP/Library/bin/mysql -lmysqlclient"
export DBD_MYSQL_EMBEDDED=
export DBD_MYSQL_CONFIG=/Applications/MAMP/Library/bin/mysql_config
export DBD_MYSQL_NOCATCHSTDERR=0
export DBD_MYSQL_NOFOUNDROWS=0
export DBD_MYSQL_SSL=
export DBD_MYSQL_TESTDB=test
export DBD_MYSQL_TESTHOST=localhost
export DBD_MYSQL_TESTPORT=3306
export DBD_MYSQL_TESTUSER=root
export DBD_MYSQL_TESTPASSWORD=root
DBD::mysqlのインストール
cpanm DBD::mysql
や carton install
でインストールできた。
※1 執筆時、MAMPの最新バージョンは3.7だったがMySQLのバージョンは5.5.38と同じものだった
Test::mysqld(Harriet)を使う場合
とりあえずcould not find mysql_install_db
というエラーが出るので、対処する。
上記手順を行うとmysql_install_db
は/Applications/MAMP/Library/scripts
にある。まずは実行権限を付ける。
$ chmod +x /Applications/MAMP/Library/scripts/mysql_install_db
PATHを通してもFATAL ERROR: Could not find ./bin/my_print_defaults
というエラーが出るのでシンボリックリンクを作る。
$ ln -s /Applications/MAMP/Library/scripts/mysql_install_db /Applications/MAMP/Library/bin/mysql_install_db
-
前の記事
Amon2アプリをMinillaで管理する時のハマりどころ 2016.04.07
-
次の記事
#yapc8oji 行ってきた 2016.07.04