背景
にて、0.6のリリースを知ったので、
Julia0.6になったから早速travis ciでmruby-juliaビルドしてみたらやられたw jl_initが仕様変更されて、文字列引数を取らなくなったorz代わりの関数が新設されてるのかぁ / “Teach jl_in…” https://t.co/NVmK06qpY8
— kjunichi (@kjunichi) 2017年6月20日
0.6に対応するにあたり変更が必要だった箇所
jl_initの引数が変更に
変更前
jl_init(JULIA_INIT_DIR "/../bin");
多分、0.6以前の公式のドキュメントには
jl_init(JULIA_INIT_DIR)との記述があるが、この記述だとPkg.add系が正常に動かない。
変更後
jl_init();
Julia自身が自分のライブラリのパスを自力で取得するようになった。
また、新規に、旧jl_init同様に利用者がパスを明示的に指定するAPIも新設されている模様。
## jl_showが廃止された
もともと問題があったようで、
このプルリクで削除された。
代わりに、上記のURLのように
jl_call2(jl_get_function(jl_base_module, "show"), jl_stderr_obj(), jl_exception_occurred());
とjl_showより低レベルの以前からあるJuliaのAPIを利用することで対応可能。
Windowsではスタックを8MBに増やす必要がある
julia 0.6.0では
にあるように
editbin /stack:8000000 juliaGaHaitteru.exe
とスタックのサイズを増やす必要があった。