LionでMySQLのコンパイルに失敗する
MacBook Airを購入したので早速開発環境を整えているとMySQLのインストールでハマりました。ソースコードからmakeしたい派なのですが、いつも通り
cmake . -DCMAKE_INSTALL_PREFIX=/Users/matabii/apps/mysql5.5 make
するとエラーになります。
Scanning dependencies of target GenError [ 28%] Generating ../include/mysqld_error.h, ../sql/share/english/errmsg.sys /bin/sh: line 1: 21749 Segmentation fault: 11 ./comp_err --charset=/Users/matabii/apps/src/mysql-5.5.15/sql/share/charsets --out-dir=/Users/matabii/apps/src/mysql-5.5.15/sql/share/ --header_file=/Users/matabii/apps/src/mysql-5.5.15/include/mysqld_error.h --name_file=/Users/matabii/apps/src/mysql-5.5.15/include/mysqld_ername.h --state_file=/Users/matabii/apps/src/mysql-5.5.15/include/sql_state.h --in_file=/Users/matabii/apps/src/mysql-5.5.15/sql/share/errmsg-utf8.txt make[2]: *** [include/mysqld_error.h] Error 139 make[1]: *** [extra/CMakeFiles/GenError.dir/all] Error 2 make: *** [all] Error 2
情報を探してみると以下を発見
http://lists.mysql.com/commits/140413
ソースを変更してやり直すと、さっきのエラーは出なかったけどpthread_init()消したからかatomic系の所でエラーが出ました。
Scanning dependencies of target my_atomic-t [ 94%] Building C object unittest/mysys/CMakeFiles/my_atomic-t.dir/my_atomic-t.c.o /var/folders/f9/n1wybs0d2xz19678ln60xsl80000gn/T//ccD2v5wp.s:596:suffix or operands invalid for `add' make[2]: *** [unittest/mysys/CMakeFiles/my_atomic-t.dir/my_atomic-t.c.o] Error 1 make[1]: *** [unittest/mysys/CMakeFiles/my_atomic-t.dir/all] Error 2 make: *** [all] Error 2
Lionのpthreadライブラリを使えていないという情報もあったので、xcodeでビルドすると上手く行きました。
cmake . -G "Xcode" -DCMAKE_INSTALL_PREFIX=/Users/matabii/apps/mysql5.5 xcodebuild -target install