RaspbianでTremaは難しいか。。。
2012年10月21日(日) 00:20 JST
閲覧数 4,877
Raspberry PiやOpenBlocksでTremaが動けばいいと思っていた訳ですが、イロイロとめんどくさそうです。
とりあえず、出張中に試したRaspberry Piの結果を。
Raspberry Piには、Raspbianを利用しているものとして記載しますが、まずはデフォルトでrubyを入れるとruby 1.9が導入される為、以下エラーで動きません。
Tremaがruby 1.9対応されていない為出ているエラーの為、rubyは1.8を指定して導入する必要があります。(ruby 1.9への対応パッチも存在する様ですが試していません)
最後に、githubから入手しビルドを試みましたが、エラーで導入できず。
ちなみに、TremaAppsもビルドして動かしてみましたが、エラーがでててやはり動きません。。。
現状、簡単には動いてくれそうにないです。
他のOpenFlow Controllerを試してから再挑戦するか考える事にしましょう。
とりあえず、出張中に試したRaspberry Piの結果を。
Raspberry Piには、Raspbianを利用しているものとして記載しますが、まずはデフォルトでrubyを入れるとruby 1.9が導入される為、以下エラーで動きません。
Tremaがruby 1.9対応されていない為出ているエラーの為、rubyは1.8を指定して導入する必要があります。(ruby 1.9への対応パッチも存在する様ですが試していません)
pi@raspberrypi /var/lib/gems/1.9.1/gems/trema-0.2.5 $ ./build.rb sudo .mono.rant:419: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n' when String: obj ^ .mono.rant:427: warning: else without rescue is useless .mono.rant:462: syntax error, unexpected keyword_end, expecting $end end # module Rant ^ ./build.rb aborted!次は、ruby 1.8に変更しgemsで導入を試みましたがエラーで導入できず。
最後に、githubから入手しビルドを試みましたが、エラーで導入できず。
/var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c: In function 'compare_filter_match': /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:115:39: error: cast increases required alignment of target type [-Werror=cast-align] /var/lib/gems/1.8/gems/trema-0.2.5/src/lib/match_table.c:116:39: error: cast increases required alignment of target type [-Werror=cast-align] ........まだまだ続くエラーは、-Werror=cast-alignがgccのオプションに指定されているからですが、このオプションを外してビルドできることは確認しているものの、動作に問題ないかの問題もあるのでコードを読む必要がありそうです。
ちなみに、TremaAppsもビルドして動かしてみましたが、エラーがでててやはり動きません。。。
現状、簡単には動いてくれそうにないです。
他のOpenFlow Controllerを試してから再挑戦するか考える事にしましょう。
root@raspberrypi:/home/pi/trema# TREMA_HOME=/home/pi/trema ./trema run ../apps/routing_switch/routing_switch.conf /home/pi/trema/ruby/trema/util.rb:32:in `sh': Command '../apps/routing_switch/routing_switch.conf --name routing_switch.conf ' failed! (RuntimeError) from /home/pi/trema/ruby/trema/daemon.rb:79:in `run!' from /home/pi/trema/ruby/trema/dsl/runner.rb:156:in `maybe_run_apps' from /home/pi/trema/ruby/trema/dsl/runner.rb:155:in `fork' from /home/pi/trema/ruby/trema/dsl/runner.rb:155:in `maybe_run_apps' from /home/pi/trema/ruby/trema/dsl/runner.rb:36:in `run' from /home/pi/trema/ruby/trema/command/run.rb:44:in `trema_run' from ././bin/trema:62 from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/command_support.rb:136:in `call' from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/command_support.rb:136:in `execute' from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:260:in `call_command' from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:273:in `call' from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:273:in `call_command' from /var/lib/gems/1.8/gems/gli-2.4.0/lib/gli/app_support.rb:67:in `run' from ././bin/trema:241