Queryverseをインストールするときにハマったこと
Queryverseをインストール
Juliaのデータ処理パッケージ群であるQueryverseをインストールしようとしたときにハマったのでメモ。
環境は
- macOS 10.11 El Capitan
- Julia 0.6.2
です。
Thriftの依存パッケージの未インストールでコケる
Queryverseは多くのパッケージをまとめたものなので、Queryverseのインストールが失敗するということはそのうちのどれかが失敗しているわけです。
今回はThrift.jl
が以下の3つのエラーで失敗していたのでご紹介します。
yaccとlexが足りない
homebrewでbison
とflex
という名前のソフトウェアをインストールすればOKです。
shell> brew install bison flex
ちなみにUbuntuとかでも同じ問題に引っかかりましたが、apt
で同様に上の2つをインストールしてあげればOKでした。
Homebrew.jlがコケる
JuliaのPkg.add("hogehoge")
ではMacの依存ソフトウェアをインストールするためにHomebrew.jlを用いることがあるのですが、
これがフォントのキャッシュに失敗して動かないことがあります。その際は以下のようにして解決します。
shell> cd /Users/Kiichi/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.6/bin # ユーザー名は適宜変更してください
shell> ./fc-cache -frv
julia> Pkg.build("Homebrew")
openssl/ssh.h
が見つからなくてビルド失敗
macOS El Capitan以降だとssh.h
が提供されていないという事情があるそうです…。
以下のように対応します。
shell> brew install openssl
shell> export PATH=/usr/local/opt/openssl/bin:$PATH
shell> export LD_LIBRARY_PATH=/usr/local/opt/openssl/lib:$LD_LIBRARY_PATH
shell> export CPATH=/usr/local/opt/openssl/include:$CPATH
shell> export LDFLAGS=-L/usr/local/opt/openssl/lib
shell> export CPPFLAGS=-I/usr/local/opt/openssl/include
shell> export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH
julia> Pkg.build("Thrift")
これで無事にビルド成功するはずです。