OSXでJulialangを組み込んでみて分かった
本家のページで書いてあるがLinuxの例で書かれているようで、OSXはPATHの設定が必要。また、いざ、アプリに組み込むとなると、ちょっと面倒だった。
pkg-config風のツールをOSXで動かす
Julialangにもpkg-config風のツールが提供されており、これを使うことで、CFLAGSや、lIBS系のパラメータを埋めることができる。
.jlなスクリプトとして提供されている
julia本体のPATHを設定すれば、
/Applications/Julia-0.4.6.app/Contents/Resources/julia/share/julia/julia-config.jl
として.jlのスクリプトを直接動かせる。また、PATHの設定をしなくとも
/Applications/Julia-0.4.6.app/Contents/Resources/julia/bin/julia /Applications/Julia-0.4.6.app/Contents/Resources/julia/share/julia/julia-config.jl --ldflags --ldlibs
とフルパスでjulia本体を指定し、引数に.jlスクリプトをしてすることで動かすことが出来た。
本家の最初のコードだと、環境変数の
JULIA_HOME
が設定されていないと動かないコードとなってします。
jl_init(JULIA_INIT_DIR);
として、julia-config.jlで--cflagsを指定した値を使うことで、
DJULIA_INIT_DIR
が定義されるので、この制限がなくなる。
OSX固有の注意点
julia-config.jlで--ldlibsの値を使っていれば問題ないが、-Lだけ指定
Linuxでは問題にならないが、rpathの設定をしないと、OSXでは実行時に
ライブラリの参照エラーとなる。
Rakeファイルでこれらの情報の実践例
Windowsの場合
v0.6ではひと手間必要でした。