◆ OpenFlowフレームワーク Trema 0.4 のインストール
[2014年06月11日追記: Trema 0.4.7 からは、ここに記載の方法だけだとインストールエラーになります。改訂版の記事「◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】」を書きました。]
[2013年10月12日追記。Trema作者様から Readme 修正のコメントいただきました!と、いうことで、今はhttps://github.com/trema/trema の「Getting Started」に従ってインストールすれば本記事に書いたエラーなくインストールできます。]
OpenFlow フレームワークの Trema のバージョンが 0.3.x から 0.4.x にあがっていたのでインストールしてみました。
0.4 では最新の環境への対応がされています。
対象OSには、Ubuntu 13.04 もサポートに入っています。
Rubyも「Ruby 1.8.7 or higher」と記載されていて、主流の 1.9 がサポートされています。
すんなりインストールできると思ったのですがドキュメント不備があるようでちょっと引っかかりました。
■確認環境
・OS: Lubuntu 13.04 Desktop (i386)
(2013年10月5日にソフトウェアアップデート済)
・Trema: 0.4.3
■インストール
https://github.com/trema/trema の「Getting Started」に従ってインストールしていきます。
1. 「1.Install the prerequisites at the command prompt:」に従い以下のコマンドを実行:
sudo apt-get install gcc make ruby rubygems ruby-dev libpcap-dev libsqlite3-dev libglib2.0-dev
2. 「Install Trema at the command prompt:」に従い以下のコマンドを実行:
sudo gem install trema
すると、エラーになりました:
$ sudo gem install trema
Fetching: bundler-1.3.5.gem (100%)
Fetching: gli-2.8.0.gem (100%)
Fetching: Platform-0.4.0.gem (100%)
Fetching: open4-1.3.0.gem (100%)
Fetching: POpen4-0.1.4.gem (100%)
Fetching: rake-10.1.0.gem (100%)
Fetching: paper_house-0.4.0.gem (100%)
Fetching: bindata-1.6.0.gem (100%)
Fetching: pio-0.2.4.gem (100%)
Fetching: json-1.8.0.gem (100%)
Building native extensions. This could take a while...
Fetching: rdoc-4.0.1.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: trema-0.4.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing trema:
ERROR: Failed to build gem native extension.
"/usr/bin/ruby1.9.1" -rubygems /var/lib/gems/1.9.1/gems/rake-10.1.0/bin/rake RUBYARCHDIR=/var/lib/gems/1.9.1/gems/trema-0.4.3/ruby RUBYLIBDIR=/var/lib/gems/1.9.1/gems/trema-0.4.3/ruby
rake aborted!
There was a Errno::ENOENT while loading trema.gemspec:
No such file or directory - git ls-files from
/var/lib/gems/1.9.1/gems/trema-0.4.3/trema.gemspec:20:in ``'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:355:in `rescue in eval_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:344:in `eval_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:324:in `block in load_gemspec_uncached'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:319:in `chdir'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:319:in `load_gemspec_uncached'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:309:in `load_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:32:in `initialize'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:14:in `new'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:14:in `install_tasks'
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/gem_tasks.rb:2:in `<top (required)>'
/var/lib/gems/1.9.1/gems/trema-0.4.3/Rakefile:747:in `<top (required)>'
(See full trace by running task with --trace)
Gem files will remain installed in /var/lib/gems/1.9.1/gems/trema-0.4.3 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/trema-0.4.3/./gem_make.out
エラーメッセージからすると trema のインストーラの中で git を使っているようです。そこで、git を追加することにします。
先の 1. の前提のインストールを以下のように git を追加して実行しました:
sudo apt-get install git gcc make ruby rubygems ruby-dev libpcap-dev libsqlite3-dev libglib2.0-dev
その後に、再度、trema のインストールを実施するとインストールが成功しました:
$ sudo gem install trema
Building native extensions. This could take a while...
Successfully installed trema-0.4.3
1 gem installed
Installing ri documentation for trema-0.4.3...
Installing RDoc documentation for trema-0.4.3...
3.バージョン確認
では、バージョン確認してみます:
$ trema --version trema version 0.4.3
無事 Trema 0.4.3 がインストールできました。
« ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク: STP(Spanning Tree Protocol) | トップページ | ◆ 【OpenFlow1.0スイッチをTremaの土管として使う】検討してみた→いけそう »
「Trema」カテゴリの記事
- ◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】(2014.06.11)
- ◆ Trema 0.4.7インストール失敗とバージョン指定インストール(2014.06.08)
- ◆ OpenFlowフレームワーク Trema 0.4 のインストール(2013.10.06)
- ◆ 【TremaでOpenFlowプログラミング】VLAN ID コンバータ(2013.05.12)
- ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク(OpenFlowスイッチとTrema)(2013.05.11)
コメント
この記事へのコメントは終了しました。
« ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク: STP(Spanning Tree Protocol) | トップページ | ◆ 【OpenFlow1.0スイッチをTremaの土管として使う】検討してみた→いけそう »
さきほど README を更新しました。いつもありがとうございます〜。
投稿: たかみや | 2013年10月11日 (金) 16時22分
たかみやさん、修正ありがとうございます!
投稿: ranosgrant(ブログ管理人) | 2013年10月12日 (土) 10時02分