ヽ(´・肉・`)ノログ

How do we fighting without fighting?

Sapporo.beamした

今日は2人もきた.

1人(初参加してくれた)はElixirからGUIツールのwxErlangを利用できるというseagullを試していた.

もう1人(自分)は,最初はGetting StartedのRecursionを翻訳した.後から合流してseagullを動かしてみた.

$ git clone git@github.com:oslampa/seagull.git
$ cd seagull
$ iex -S mix
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Interactive Elixir (0.12.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Demo.Calc.start

=ERROR REPORT==== 10-Apr-2014::19:50:10 ===
ERROR: Could not find 'wxe_driver.so' in: /usr/local/Cellar/erlang/R16B03-1/lib/erlang/lib/wx-1.1.2/priv

=ERROR REPORT==== 10-Apr-2014::19:50:10 ===
Error in process <0.57.0> with exit value: {{load_driver,"No driver found"},[{wxe_server,start,1,[{file,"wxe_server.erl"},{line,64}]},{wx,new,1,[{file,"wx.erl"},{line,114}]},{'Elixir.WindowProcess',gui_process,2,[{file,"lib/window_process.ex"},{line,12}]}]}

アカン……ドライバーがないようだ.

「wxWidgetsが入ってないのでは」と教えてもらったのでerlangのコンパイルオプションを眺めてみる.

$ brew edit erlang

すると,エディタでbrewのコンパイルオプションその他が眺められる.

ファイルの中に

depends_on 'wxmac' => :recommended # for GUI apps like observer

というのがある.recommendedというのを有効にすればできそうだなあ.

HomebrewのSpecifying other formulae as dependenciesをみると,recommendedのやつをインストールするには --with-xxx をコマンドに渡すと書いてある.

確かにErlangインストールするとき,下のようにElixirのインストールから依存関係の解決でインストールしたからこのオプションを有効にした記憶がない.

$ brew install elixir

そこで

$ reinstall erlang --with-wxmac

として再インストールしてみた.プログレスを眺めているとwxmacが入ったようだ.再度挑戦する.

$ iex -S mix
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Interactive Elixir (0.12.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Demo.Calc.start

seagull-demo-calc.png

うひょー!ElixirでGUI動いた!

教えてくれた人はWindows7で,ErlangをバイナリでインストールしたらwxWidgetsも含まれていたようで,特に何もしないでも動作していた.

あと,seagullを作っている人がproblemsというリポジトリで”Solutions to 99 problems list in Elixir.”というのをやっているのを教えてもらった.

このエントリーをはてなブックマークに追加