Queryverseをインストールするときにハマったこと

Queryverseをインストール

Juliaのデータ処理パッケージ群であるQueryverseをインストールしようとしたときにハマったのでメモ。

環境は

です。

Thriftの依存パッケージの未インストールでコケる

Queryverseは多くのパッケージをまとめたものなので、Queryverseのインストールが失敗するということはそのうちのどれかが失敗しているわけです。
今回はThrift.jlが以下の3つのエラーで失敗していたのでご紹介します。

yaccとlexが足りない

homebrewでbisonflexという名前のソフトウェアをインストールすれば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")

これで無事にビルド成功するはずです。

参考サイト