[haskell]OSX Lionでcabal install mysql
メモ。
cabal install mysql(現最新は0.1.1.4)でエラーが出る。
ghc7.0.4。
じゃあと思って
$ cabal install mysql-simple $ cabal install persistent-mysql
してみたけどmysqlに依存してるぽい。
仕方ない。
$ cabal install --extra-lib-dirs=/usr/local/mysql/lib/ --extra-include-dirs=/usr/local/mysql/include/ mysql Resolving dependencies... [1 of 1] Compiling Main ( /var/folders/ym/jf63kw2n6453l1wq7s_186rr0000gn/T/mysql-0.1.1.423059/mysql-0.1.1.4/Setup.lhs, /var/folders/ym/jf63kw2n6453l1wq7s_186rr0000gn/T/mysql-0.1.1.423059/mysql-0.1.1.4/dist/setup/Main.o ) Linking /var/folders/ym/jf63kw2n6453l1wq7s_186rr0000gn/T/mysql-0.1.1.423059/mysql-0.1.1.4/dist/setup/setup ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Configuring mysql-0.1.1.4... Preprocessing library mysql-0.1.1.4... dyld: Library not loaded: libmysqlclient.18.dylib Referenced from: /private/var/folders/ym/jf63kw2n6453l1wq7s_186rr0000gn/T/mysql-0.1.1.423059/mysql-0.1.1.4/dist/build/Database/MySQL/Base/C_hsc_make Reason: image not found running dist/build/Database/MySQL/Base/C_hsc_make failed (exit code 5) command was: dist/build/Database/MySQL/Base/C_hsc_make >dist/build/Database/MySQL/Base/C.hs cabal: Error: some packages failed to install: mysql-0.1.1.4 failed during the building phase. The exception was: ExitFailure 1
エラー内容に
dyld: Library not loaded: libmysqlclient.18.dylib
とあるので、 --extra-lib-dirs, --extra-include-dirs使えば良いかなーと思ったのだけどその結果が上。エラー内容変わらず。
libmysqlclient.18.dylibの場所は
$ mdfind libmysqlclient.18.dylib /usr/local/mysql-5.5.14-osx10.6-x86_64/lib/libmysqlclient.18.dylib
で調べた。
こんな問題あったけどこれは7.0.2あたりで直っているはず。
ということで
ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame
これでグーグルさんに聞いてみると、
こんなバグが。milestone 7.6.1かー。
しようがないしよくわからないのでこれはスルーして
dyld: Library not loaded: libmysqlclient.18.dylib
このへんで検索。こんなのがヒット。
railsでの件だけど同じ問題が出ているらし。
install_name_toolsとかよくわからないものは取りあえず使わない方向で、次を実行。
$ export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
そしてcabal install mysql。通った!
cabal install --extra-lib-dirsあたりのオプションでは駄目なのだろうか...
この辺のオプションは
$ cabal install --help
でずらずら出てくる。