« ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク: STP(Spanning Tree Protocol) | トップページ | ◆ 【OpenFlow1.0スイッチをTremaの土管として使う】検討してみた→いけそう »

2013年10月 6日 (日)

◆ 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」カテゴリの記事

コメント

さきほど README を更新しました。いつもありがとうございます〜。

たかみやさん、修正ありがとうございます!

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ◆ OpenFlowフレームワーク Trema 0.4 のインストール:

« ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク: STP(Spanning Tree Protocol) | トップページ | ◆ 【OpenFlow1.0スイッチをTremaの土管として使う】検討してみた→いけそう »

最近のトラックバック

無料ブログはココログ